我正在使用 TextWrangler grep 对多个文件执行查找/替换,并且遇到了我需要执行的最后一个查找/替换的墙。我需要匹配一行中 a">
的第一个实例之间的任何文本,<br />
但匹配不能包含字符序列 [xcol]。正则表达式风格是 Perl-Compatible (PCRE) 所以lookbehind需要是固定长度的。
要搜索的示例文本:
<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>
正则表达式的期望行为:
第一行匹配 ">
FooBar<br />
第二行不匹配
第三行匹配 ">
Hello World<br />
第四行不匹配
">
和之间的文本<br />
将被捕获在一个组中以与替换功能一起使用。我得到的最接近的是使用以下带有负前瞻的正则表达式,但这与所需的第 3 行不匹配:
">((?!.*?\[xcol]).*?)<br />
任何帮助或建议表示赞赏。谢谢你。