説明
正規表現を介してこれを処理することはおそらく最善の方法ではありませんが、「HTMLAgilityPack のインストールは許可されていません」などの正規表現を使用する理由がある可能性があるため、この表現は次のようになります。
- 単純に開始タグの後に終了タグが続くすべてのタグを検索します
- 正規表現を使用した HTML でのパターン マッチングを困難にするエッジ ケースの多くを回避します。
正規表現:(<(\w+)(?=\s|>)(?:[^'">=]*|='[^']*'|="[^"]*"|=[^'"][^\s>]*)*>)(<\/\2>)
と置換する:$1~~~NewValue~~~$3
例
ライブデモ
サンプルテキスト
最初の行にはいくつかの非常に難しいエッジケースがあることに注意してください
<a onmouseover=' str=" <a></a> " ; if ( 6 > 4 ) { funDoSomething(str); } '></a>
<div></div>
<span>test</span>
<a></a>
置換後のテキスト
<a onmouseover=' str=" <a></a> " ; if ( 6 > 4 ) { funDoSomething(str); } '>~~~NewValue~~~</a>
<div>~~~NewValue~~~</div>
<span>test</span>
<a>~~~NewValue~~~</a>