文字列がhtmlタグの一部でない場合にのみ、文字列を一致させようとしています。
たとえば、文字列「abc」を検索する場合。
<a href="foo.html">abc def</a>
一致する必要があります一致
<p> foo bar foo abc foo bar</p>
する必要があります
しかし、
<a href="abc.html">foo</a>
一致するべきではありません。
助けてくれてありがとう!
文字列がhtmlタグの一部でない場合にのみ、文字列を一致させようとしています。
たとえば、文字列「abc」を検索する場合。
<a href="foo.html">abc def</a>
一致する必要があります一致
<p> foo bar foo abc foo bar</p>
する必要があります
しかし、
<a href="abc.html">foo</a>
一致するべきではありません。
助けてくれてありがとう!
HTML は規則的ではなく、つまずくような特殊なケースがたくさんあるので、HTML と一致させるために正規表現を使用するつもりはまったくありません。最も単純なケースを除いて、HTML パーサーを使用します (たとえば、 PHP 用のパーサー)。
一部のCDATAセクションで正規表現が機能しなくなると確信しています。
ブライアンは、とにかく、正規表現を使用したい場合は、それがあなたの入力に合っているという点を持っています:
.*>[^<]*abc[^<]*<.*
あなたが探しているのは DOM パーサーです。これにより、すべての HTML が取り除かれ、調べているページのプレーン テキストが提供されます。これを照合することができます。ユースケースが何であるかはわかりませんが、DOM を操作していない、または JavaScript を使用しているとは限りません。
情報を抽出するだけの場合は、The Simple HTML DOM Parserなどを使用してページを解析し、解析されたオブジェクトから取得できるプレーン テキストと照合します。