2

我知道使用简单的负面回顾

#(?<!first word)\r\nsecond word#s

这不会second word

some text
first word
second word
some text

并按预期匹配

some text
second word
some text

它也在这里匹配,但不应该

some text
first word
any other text
second word
some text

我需要如何修改我的正则表达式以满足要求?

我试过#(?<!first word).*second word#s了,但它总是匹配。

我需要这个来搜索记事本++中的许多文件

4

1 回答 1

0

您的第一个正则表达式匹配第三个示例,就好像它正在寻找一个不是first word并且具有 asecond word作为下一个字符串的字符串。

最后一个正则表达式将匹配所有内容,因为.*它匹配所有内容。

我建议添加一个.*消极的lookbehind。

我不知道您使用的是哪个编辑器,所以如果它与您的正则表达式语法不对应,请更正。

我会搜索一个不必像这样first word继续的最大长字符串second word

^(?!.*first word.*)\r\nsecond word

我希望它会奏效。

祝你好运!

于 2014-12-05T11:26:22.000 回答