Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式:选择所有重复行_Regex_Regex Lookarounds_Regex Group - Fatal编程技术网

Regex 正则表达式:选择所有重复行

Regex 正则表达式:选择所有重复行,regex,regex-lookarounds,regex-group,Regex,Regex Lookarounds,Regex Group,好吧,我已经玩了一段时间了,已经很接近了,但仍然无法实现 我想从: a a b a c a 到(在记事本++): 我可以做到: a b c 以下是我迄今为止最好的失败案例,但你知道了: ^(((.+)(\r?\n))(?:(?!\1).*\s*)?)((?:(?!\2).*\s*)?(\2))+ ^((.+)(\r?\n))((?:(?!\1).*\s*)?(\1))+ 从Regexr中,我只需要“测试行”。 最新尝试: ^((.+)(\r?\n))(?=(.+)(\r?\n))?(\1

好吧,我已经玩了一段时间了,已经很接近了,但仍然无法实现

我想从:

a
a
b
a
c
a
到(在记事本++):

我可以做到:

a
b
c
以下是我迄今为止最好的失败案例,但你知道了:

^(((.+)(\r?\n))(?:(?!\1).*\s*)?)((?:(?!\2).*\s*)?(\2))+
^((.+)(\r?\n))((?:(?!\1).*\s*)?(\1))+
从Regexr中,我只需要“测试行”。

最新尝试:

^((.+)(\r?\n))(?=(.+)(\r?\n))?(\1)+

此任务不能使用regex IMHO完成。这种任务需要交给任何编程语言处理。我发布了一个gazillion解决方案,但基于shell:

sort file.txt | uniq -d

此命令将对文件进行排序,并显示重复值列表。

对于那些没有阅读注释的人,其想法是使用NP++过滤掉IP黑名单,将其放入完整的IP列表中,并完全删除任何地方出现的重复行

这可以通过记事本++中不支持的方式完成

作为一种解决办法,也更有效:

  • (选择全部)
  • 使用类似的简单模式删除连续的重复行
    • ^
    • (.+)\R
      字符到
      \1
      ,然后换行
    • (?:\1(?:\R |$)+
      后跟一个或多个(,后跟(换行符或
      $
      结束))

    您应该指定要在中使用此正则表达式的编程语言或工具。此任务不是正则表达式的作业。你应该使用编程语言。然而,如果正则表达式引擎支持无限的lookbehind,则存在一个非最优的解决方案。使用Google Chrome并在此处查看,您可能需要一个可变长度的lookbehind,它可以在.NET正则表达式中使用,也可以在Java中使用一些变通方法:。另外,这不是很有效=p您使用的是什么正则表达式风格?现在我只是使用notepad++对IP列表进行排序。我有一个所有IP的列表,还有一个坏IP,所以我只是将坏IP粘贴到文档中,并打算删除所有匹配的条目。。。只留下好的。我想我可以写一个脚本来做这件事,我只是在偷懒,这在多行模式下不起作用吗<代码>^(+)$[\n\r?]^\1$1.)安装插件“TextFX Character”,全选,TextFX Tools>sort lines(asc)2。)使用正则表达式模式删除所有多次出现的行。我知道我可以很容易地编写脚本,但我正试图让技术不太熟练的人更容易编写,谢谢!对于一个不懂技术的人来说,regex比shell容易吗?只是想知道。是的,哈哈,如果我告诉他们复制并粘贴这行到“查找并替换”,我就不必教他们如何使用ssh和linux。。。这是一项值得时间的投资
    sort file.txt | uniq -d