正则表达式在Notepad ++中找到重复的句子

时间:2012-10-19 11:29:13

标签: regex notepad++ replace

我需要通过Notepad ++正则表达式搜索找到以下单词是否在文档中出现过多次:

/resources/common.js

鉴于这些词可能介于其他词之间,例如:

<script src="/resources/common.js" type="text/javascript"></script>

因此,如果这些单词“/resources/common.js”在该文件中出现多次,搜索会显示结果。

我需要在一个包含数千个文件的大文件夹中找到它,只是为了知道哪些文件有重复的句子。

2 个答案:

答案 0 :(得分:1)

使用“在文件中查找”工具(快捷键为Ctrl + Shift + F)。输入搜索字符串(无正则表达式),根据需要应用过滤器,然后选择目录。确保选中“在所有子文件夹中”并点击“全部查找”,这应该可以解决问题。

编辑: 您实际上正在寻找多行正则表达式,记事本++和许多其他正则表达式引擎都不支持这种正则表达式。见Multiline Regular Expression search and replace!

答案 1 :(得分:0)

你写的正则表达式,所以我假设你有权访问Unix工具链。然后你可以使用grep。选项-c报告计数:

grep -c cout *.cpp
bitset.cpp:1
Classes.cpp:2
ClearVectorOfUniquePtrs.cpp:2
COAP.cpp:2
ContainerCrash.cpp:0
CopyOptimisation.cpp:17

另一个grep对零和一个匹配进行排序:
grep -c cout *.cpp | grep -v -E ":0|:1$"

如果您有Unix剪切可用,则会为您提供文件名列表:
grep -c cout *.cpp | grep -v -E ":0|:1$" | cut -d : -f 1

cout替换为您的字符串。