ターゲットの単語または単語を html 内 (つまりタグ内) で検索しますが、アンカーまたはスクリプト タグ内では検索しない reg 式が必要です。私は何年も実験して、これを思いついた
(?!<(script|a).*?>)(\btype 2 diabetes\b)(?!<\/(a|script)>)
この場合、置換するターゲットが 2 型糖尿病であると仮定します。
これはよくある質問だと思いますが、すべての参照はアンカーの一部であり、アンカーやスクリプトタグではなく、それらや他のタグの中にあることを示しています
これは、 http://regexpal.com/ と http://gskinner.com/RegExr/の両方 を上記の式と以下のテスト データで使用したテスト データです。アンカーまたはスクリプト タグのセット間のビットを除外せずに、アンカーまたはスクリプト タグ。
以下の試験データでは「2型糖尿病」のみ
<p></p>
捕まえるべきです。
<a href="https://www.testsite.org.uk">
<div><img alt="logo" src="/images/logo.png" height="115" width="200" /></div>
<h2>Healthy Living for People with type 2 Diabetes</h2>
</a>
<p>type 2 Diabetes</p>
<a id="logo" href="https://www.help-diabetes.org.uk">
<div><img alt="logo" src="/images/logo.png" height="115" width="200" /></div>
<h2>Healthy Living for People with type 2 Diabetes</h2>
</a>