TextWrangler grepを使用して複数のファイルの検索/置換を実行していますが、実行する必要のある最後の検索/置換で壁にぶつかりました。">行内のaの最初のインスタンスとの間のテキストを一致させる必要があります<br />が、一致に文字シーケンス[xcol]を含めることはできません。正規表現フレーバーはPerl互換(PCRE)であるため、後読みは固定長である必要があります。
検索するテキストの例:
<p class="x03">FooBar<br />Bar</p>
<p class="x03">FooBar [xcol]<br />Bar</p>
<p class="x06">Hello World<br />[xcol]foo[xcol]bar<br /></p>
<p class="x07">Hello World[xcol]<br />[xcol]foo[xcol]bar<br /></p>
正規表現の望ましい動作:
1行目一致 ">FooBar2<br />
行目一致なし
3行目一致HelloWorld4行
目一致なし "><br />
">との間のテキストは<br />、置換機能で使用されるグループにキャプチャされます。私が得た最も近いものは、負の先読みで次の正規表現を使用することでしたが、これは希望どおりに3行目と一致しません。
">((?!.*?\[xcol]).*?)<br />
ヘルプやアドバイスをいただければ幸いです。ありがとうございました。