找到所有不在另一个之前的字符串,在notepad ++中包含介于两者之间的任何字符串

时间:2014-12-05 11:04:59

标签: regex notepad++ negative-lookbehind

我知道使用简单的负面背后隐藏

#(?<!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,但它始终匹配。

我需要这个来搜索notepad ++中的许多文件

1 个答案:

答案 0 :(得分:0)

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

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

我建议在负面的背后添加.*

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

我会搜索一个没有first word的最大长字符串,由second word进行搜索

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

我希望它能奏效。

祝你好运!