【发布时间】:2021-06-23 03:45:07
【问题描述】:
我想搜索整个文件而不仅仅是一行。 ^((?!MYWORD).)*$ 如果我理解正确,这将搜索该行不以提供“。”的单词“MYWORD”开头。当然不包括换行符。所以我想检查文件中的任何一行都没有这样的行。
所以如果我的文件包含:
xyz
MYWORD is here
123
然后我排除这个文件。
请注意,我在 NotePad++ (v7.9.1) 的“在文件中查找”对话框中输入正则表达式,我在其中指定了一个文件夹,因此我想搜索文件夹中的所有文件。
实际示例在 .sql 文件中查找没有“CREATE”子句的文件。
我知道聪明的人会说使用找到你想要的 MYWORD 的表达式然后你可以消除这些,但你知道我想知道它是否可能。
【问题讨论】:
-
您的目标是获得 positive 匹配项列表、不以
MYWORD开头的文件,还是想要一个 negative 列表i> 匹配,不匹配的文件? -
为什么不用多行标志(m)? /^(?!MYWORD).*/gm
-
^((?!MYWORD).)*$匹配不包含MYWORD的行任何地方,而不仅仅是开头。 -
是的正匹配不包含以“MYWORD”开头的行。我确实尝试过 /.../gm 方法,只是在我写这篇文章的时候不记得语法了,无论如何我试过了,但它什么也没返回,所以我想也许它忽略了这个??!!
-
答案成功了吗?