HTMLの大きなブロックに対して検索および置換操作を実行する必要があります。htmlタグの一部であるもの(urlなど)を変更したくない-htmlタグ以外のurlも変更したくない。html( src )内にない単語を照合するための部分的な解決策があります:
word(?!([^<]+)?>)
regexバディもこれは同じように一致すると言います:
(?!([^<]+)?>)word
したがって、あとは、単語がURLのような文字列の一部ではないことを確認するだけです。次のようになります。
(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|$!:,.;]*[A-Z0-9+&@#/%=~_|$]
これが可能かどうかはわかりません。私の意図は、テキストに存在し、コンテンツのhtmlの一部であるURLを保持しながら、他のものに対する検索と置換の操作を許可することです。
以下に示すように、理想的なソリューションはDOGと一致し、CATに置き換えられます。
<h1>DOG</h1> -> <h1>CAT</h1>
<h1 class='DOG'>DOG</h1> -> <h1 class='DOG'>CAT</h1>
<p class='DOG'>DOG: http://www.DOG.com/DOGfood.html DOGfood is delicious.</p> -> <p class='DOG'>CAT: http://www.DOG.com/DOGfood.html CATfood is delicious.</p>
効率のためのボーナスポイント、私はほとんど私の知恵の終わりにいます。