Regex 使用记事本查找前面没有分号的字符串++;

Regex 使用记事本查找前面没有分号的字符串++;,regex,notepad++,regex-negation,Regex,Notepad++,Regex Negation,在一个包含数百个xml文件的目录中,我需要找到包含字符串nature的文件,其中该字符串前面没有分号 例如: 它应该发现: STATUS_OMS.PLUVOI = "NATURE" 它不应发现: ; Horse Nature Product.. 我对正则表达式相当陌生。 我尝试了很多,这一次似乎很接近,但否定没有达到预期的效果 [^;].+?nature 有没有关于我做错了什么的线索 请注意,我正在使用记事本++这就是你的意思吗?它搜索符合并包含单词nature的行,该行没有;自然一词之前

在一个包含数百个xml文件的目录中,我需要找到包含字符串
nature
的文件,其中该字符串前面没有分号

例如:

它应该发现:

STATUS_OMS.PLUVOI = "NATURE"
它不应发现:

; Horse Nature Product..
我对正则表达式相当陌生。 我尝试了很多,这一次似乎很接近,但否定没有达到预期的效果

[^;].+?nature
有没有关于我做错了什么的线索


请注意,我正在使用记事本++

这就是你的意思吗?它搜索符合并包含单词nature的行,该行没有;自然一词之前的字符

^[^;]+nature
您正在寻找:

^[^;]*nature
它查找以任意数量的非分号字符开头,后跟“nature”的行

你的正则表达式:

[^;].+?nature

在一行中的任意位置查找一个非分号字符,后跟一个或多个任意类型的字符,后跟“nature”。

。这样一个小小的差异在表达,一个全新的世界的结果。谢谢!斯文加有一个更好的。我的至少需要一个字符在单词“自然”之前,他的不需要。你是对的。无论如何,谢谢你的快速回复。你的回答对我来说已经足够好了,但为了将来的参考,我把答案换成了斯文加。事实上,也是这样。感谢您对我自己的正则表达式所需内容的解释,这有助于学习过程;)