我想知道如何防止notepad++在执行“查找全部”时输出重复行。
这是示例文本文件。
aaa aaa
bbb bbb
ccc ccc
我将“aaa”作为搜索字符串,然后单击“查找当前文档中的所有内容”。 然后输出会是这样的。第 1 行出现了 2 次,因为字符串“aaa”在第 1 行中匹配了 2 次。
Search "aaa" (2 hits in 1 file)
new 2 (2 hits)
Line 1: aaa aaa
Line 1: aaa aaa
以后删除重复行很麻烦。有什么好的方法可以防止重复行吗? 提前致谢!
最佳答案
我从未听说过让“查找结果”窗口删除“重复行”的方法。它们源自同一行上的多次点击。
要阻止重复出现,请确保您只找到该字符串在一行中最后一次出现的位置。
为此,您需要使用以下形式的正则表达式:
(\Qaa.a\E)(?!.*\1)
哪里<YOUR_VALUE>
是 aaa
。 \Q
和\E
运算符是使正则表达式引擎将它们之间的所有字符视为文字字符所必需的。 (...)
会将搜索字符串捕获到组 1 和 (?!.*\1)
中负向先行将使该行中后跟相同搜索字符串的所有匹配失败(如 .*
匹配除换行符之外的任何 0+ 字符)。
关于grep - 使用 Notepad++ ,如果 "Find All"字符串在 1 行中匹配多次,则输出显示重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40020110/