HTML のブロックに一連の段落があります。ほとんどは、いくつかのハイパーリンク タグを含むテキストでいっぱいです。場合によっては、段落の後に画像のみを含む段落が続くことがあります。そう:
<p1>...text..<a>...</a>...text...</p>
<p2>...text..<a>...</a>...text...</p>
<p3><img></p>
<p4>...text..<a>...</a>...text...</p>
NotePad ++で検索/置換の正規表現を見つけようとしています。これは、画像を含む段落が続く段落に一致します(タグでラップしたい)。
これは、単一の段落に正しく一致するように見えますが、それ以上は一致しません:
<p(?!.*<p)?(.*?)</p>
しかし、次の画像段落に一致するものを追加しようとするとすぐに、正規表現は後方一致を開始して、画像段落の前のすべての段落 (つまり、p2 から p3 ではなく p1 から p3) を包含します。
解決策には、改行に一致するドット文字を含める必要があります(とにかく、段落テキストに改行があります)。