正则表达式查找忽略换行符的重复字符(Notepad ++)

时间:2018-09-23 12:59:14

标签: regex notepad++

我使用表达式

(.)\1+

使用记事本++在文本文件中查找重复的字符。

但是,此表达式不适用于两行中的重复字符:

abc
cba

查找重复字符而忽略换行符的最佳方法是什么?

3 个答案:

答案 0 :(得分:0)

以下方法应该起作用:

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

答案 1 :(得分:0)

您可以将(?:\r?\n|\r)*(.)之间的换行符\1+匹配零次或多次,或使用问号(而不是星号)将其设为可选。

(.)(?:\r?\n|\r)*\1+

答案 2 :(得分:0)

(.)\1+c\nc不匹配,因为它们之间有换行符。

您要匹配的是一大堆相同的字符,可以用换行符分隔:

(.)(?:\R?\1)+

请参见regex demo

详细信息

  • (.)-捕获与除换行符以外的任何单个字符匹配的组1
  • (?:\R?\1)+-1个或多个序列:
    • \R?-可选的换行符序列(CRLF,LF,CR甚至是某些Unicode换行符,例如NEL
    • \1-与第1组中捕获的字符相同。