我使用表达式
(.)\1+
使用记事本++在文本文件中查找重复的字符。
但是,此表达式不适用于两行中的重复字符:
abc
cba
查找重复字符而忽略换行符的最佳方法是什么?
答案 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组中捕获的字符相同。