正则表达式:Select 所有重复行
Regex: Select All Duplicate Lines
好的,我已经玩了一段时间并且已经接近了,但仍然无法实现。
我想从:
a
a
b
a
c
a
至(在 Notepad++ 中):
b
c
我能做到:
a
b
c
这是迄今为止我最好的失败,但你明白了:
^(((.+)(\r?\n))(?:(?!).*\s*)?)((?:(?!).*\s*)?())+
^((.+)(\r?\n))((?:(?!).*\s*)?())+
来自 Regexr,我只想要 'test line'。
最近的新尝试:
^((.+)(\r?\n))(?=(.+)(\r?\n))?()+
这个任务不能用正则表达式恕我直言来完成。这种任务需要交给任何编程语言来处理。我发布了众多解决方案之一,但基于 shell:
sort file.txt | uniq -d
此命令将对文件进行排序并显示重复值列表。
对于那些没有阅读评论的人,我们的想法是使用 NP++ 通过将 IP 黑名单放入完整的 IP 列表中来过滤掉 IP 黑名单,并完全删除任何地方出现的重复行。
这可以通过 Notepad++ 不支持的 use of a variable length lookbehind 来完成。
作为一种变通方法,也更有效:
- Sort lines by use of Plugin TextFX Character(select 全部)。
- 使用像
^(.+)\R(?:(?:\R|$))+
这样的简单模式来删除连续的重复行。
^
line start
(.+)\R
capture one or more characters to </code> followed by an <a href="https://www.rexegg.com/regex-quickstart.html#whitespace" rel="nofollow noreferrer"><code>\R
换行.
(?:(?:\R|$))+
后跟一个或多个(</code></a>,后跟(换行符或<code>$
结束))。
好的,我已经玩了一段时间并且已经接近了,但仍然无法实现。
我想从:
a
a
b
a
c
a
至(在 Notepad++ 中):
b
c
我能做到:
a
b
c
这是迄今为止我最好的失败,但你明白了:
^(((.+)(\r?\n))(?:(?!).*\s*)?)((?:(?!).*\s*)?())+
^((.+)(\r?\n))((?:(?!).*\s*)?())+
来自 Regexr,我只想要 'test line'。
最近的新尝试:
^((.+)(\r?\n))(?=(.+)(\r?\n))?()+
这个任务不能用正则表达式恕我直言来完成。这种任务需要交给任何编程语言来处理。我发布了众多解决方案之一,但基于 shell:
sort file.txt | uniq -d
此命令将对文件进行排序并显示重复值列表。
对于那些没有阅读评论的人,我们的想法是使用 NP++ 通过将 IP 黑名单放入完整的 IP 列表中来过滤掉 IP 黑名单,并完全删除任何地方出现的重复行。
这可以通过 Notepad++ 不支持的 use of a variable length lookbehind 来完成。
作为一种变通方法,也更有效:
- Sort lines by use of Plugin TextFX Character(select 全部)。
- 使用像
^(.+)\R(?:(?:\R|$))+
这样的简单模式来删除连续的重复行。
^
line start(.+)\R
capture one or more characters to</code> followed by an <a href="https://www.rexegg.com/regex-quickstart.html#whitespace" rel="nofollow noreferrer"><code>\R
换行.(?:(?:\R|$))+
后跟一个或多个(</code></a>,后跟(换行符或<code>$
结束))。