0

検索文字列で発生する可能性のある3つのパターンは次のとおりです。

<a href=".+?" target="_blank" id="">.+?</a>
<a href=".+?" target="_blank" id=""><font color=green>.+?</font></a>
<a href=".+?" target="_blank" id=""><b><font color=green>.+?</font></b></a>

私が書いた式は、上記のすべてに一致します。

<a href="(.+?)" target="_blank" id="">(<font color=.+?>)?(.+?)(</font>)?</a>

最初と2番目の文字列のみに一致する正規表現を作成するにはどうすればよいですか。3番目の文字列は結果から除外する必要があります。

4

1 に答える 1

0

一般に、(X)HTMLを正規表現で解析することは避けてください。

あなたの場合、次のような式を使用して、含まれているテキスト内のタグの一致を回避できる場合があります。

<a href="(.+?)" target="_blank" id="">(<font color=.+?>)?([^<]*?)(</font>)?</a>

これにより、コンテンツ内のすべてのタグが無視されることに注意してください。<a>

于 2013-03-07T02:57:54.140 に答える