Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
regex查找一行中有一个单词而没有另一个单词_Regex_Search_Include_Notepad++ - Fatal编程技术网

regex查找一行中有一个单词而没有另一个单词

regex查找一行中有一个单词而没有另一个单词,regex,search,include,notepad++,Regex,Search,Include,Notepad++,我有以下几行 test words more words test &test words and test 我使用的是Notepad++,我希望正则表达式能够找到包含单词“test”的行,如果该行中没有符号“&”。。因此,在上面的示例中,应该找到第1、3、5行,而不是第4行中有“&” 我试过了 [&]test[^\&]‎ 及 但它不起作用。您可以使用这个基于负前瞻的正则表达式: ^(?!.*&).*\btest\b (?!.&)将确保该行中没有&。确保使

我有以下几行

test
words
more words test
&test
words and test
我使用的是Notepad++,我希望正则表达式能够找到包含单词“test”的行,如果该行中没有符号“&”。。因此,在上面的示例中,应该找到第1、3、5行,而不是第4行中有“&”

我试过了

[&]test[^\&]‎


但它不起作用。

您可以使用这个基于负前瞻的正则表达式:

^(?!.*&).*\btest\b


(?!.&)
将确保该行中没有
&
。确保使用多行模式。

查找内容:

^[^&\n]*test[^&\n]*$

使用允许使用除
&
和换行符以外的任何字符。‎

谢谢,我在np++中试过了,但它只找到了最后一行。你可以查看我的演示,它找到了3行。在NP++正则表达式工具中,确保未选中
DOTALL
,否则只匹配最后一行。@Mike此正则表达式有效。确保光标位于文档的底部,或单击“在当前文档中查找全部”。通过
DOTALL
,它意味着离开
”。匹配换行符“
未选中。感谢@Mariano,我在OSX上,所以我前面没有NP++I来命名取消选中
DOTALL
等效项的正确选项。是的,这确实意味着圆点不能和新行匹配。@anubhava我也这么认为,你们并没有遗漏太多。(对于记录,默认情况下,
/m
处于启用状态)。谢谢Mariano,它也可以工作。。我接受了第一个答案,并认为你的答案有用。
^[^&\n]*test[^&\n]*$