删除记事本++中在同一行上具有相同编号的行

时间:2017-12-30 12:38:55

标签: regex notepad++

我在记事本++中有这样的行

enter image description here

00100 00100 
00260 00260
01234 01255

我想只显示没有重复数字的行。在这种情况下,在记事本中只有第3行。我需要在ctrl + h中使用什么?

THX

1 个答案:

答案 0 :(得分:1)

如果您使用

^(\d+)(?: +)\1 *$

并启用正则表达式并在最后一行之后添加换行符,这可行。

^是一行的开头,$是行的结尾

(\d+)是1到n位,后跟

(?: +)允许一个或多个空格而不会限制它们

\1是捕获的第一个数字的反馈。

它不适用于像

这样的东西
0001  00002 00002 0003 0001 

因为0001(第一次捕获)没有立即跟随。这可以通过使用:

来缓解
^(\d+)(?: +)(?:\d* *)*?\1 *$ 

这增加了非贪婪的其他数字和空格在第一个和重复模式之间匹配的可能性 - 这仍然不适用于

0001 00002 00002 0003 

因为00002不是一行中的第一个匹配...

Notepad Example