1
私はOutlook 2013 VBAを使用して<スパン>セクションを取り出して置き換えてメール本文を変更しようとしています。しかし、複数のスパンでは、正規表現が1つのスパンしか選択しないようにするのに問題があります。最短一致オプション
他の検索に基づいて、私は否定的な先読みを使用しようとしていますが、失敗しています。下から
結果は次のとおりです。<span><span style = blah blah>Tags: test, test2</span>
望ましい結果は次のとおりです。テストモジュール用<span style = blah blah>Tags: test, test2</span>
コード:
Sub regextest()
Dim regex As New RegExp
Dim testStr As String
testStr = "a<span><span style=blah blah>Tags: test, test2</span></span>"
regex.pattern = "<span.*?(?:(span)).*?Tags:.*?</span>"
Set matches = regex.Execute(testStr)
For Each x In matches
Debug.Print x 'Result: <span><span style = blah blah>Tags: test, test2</span>
Next
End Sub
ありがとうございます!上記のコメントで
試してみてください[ ' [^ <] *タグ:[^ <]*'](https://regex101.com/r/yl2gqj/1) –
関連:http://stackoverflow.com/a/1732454/4088852 – Comintern
Wiktor - ありがとう。朝に試してみるよ。 Comintern - 私は "HTMLを解析する"と言っているわけではありません。かなり基本的なパターンを見つけて置き換えています。文書がHTML形式になっているだけです。 –