Regex 如何使用正则表达式查找字符串中出现的相同后续字符?
如何使用正则表达式或函数在字符串中查找相同的后续字符 例如: 我是我ee我和t有一个three 圆周率zz作为。那个oob这里只有一个圆周率zzA.Poo小男孩 您可以使用: 如果要查找长度为两个或更多的序列,请将Regex 如何使用正则表达式查找字符串中出现的相同后续字符?,regex,Regex,如何使用正则表达式或函数在字符串中查找相同的后续字符 例如: 我是我ee我和t有一个three 圆周率zz作为。那个oob这里只有一个圆周率zzA.Poo小男孩 您可以使用: 如果要查找长度为两个或更多的序列,请将\1更改为\1+ 请注意,根据您使用的正则表达式引擎,语法可能会有所不同。在perl风格中就是这样\w匹配一个单词字符,\2匹配第二个括号 m/((\w)\2+)/g 不确定您使用的是哪个版本的正则表达式,但对于egrep,它可以工作: egrep '(.)\
\1
更改为\1+
请注意,根据您使用的正则表达式引擎,语法可能会有所不同。在perl风格中就是这样
\w
匹配一个单词字符,\2
匹配第二个括号
m/((\w)\2+)/g
不确定您使用的是哪个版本的正则表达式,但对于
egrep
,它可以工作:
egrep '(.)\1' < file
egrep'()\1'
这将显示一行中有两个字符的所有行。如果您只想要字母:
egrep `([A-Za-z])\1' < file
egrep`([A-Za-z])\1'
会有用的。用谷歌搜索它:“双字符正则表达式”
我用你的正则表达式做了一个修改:这应该可以
()\1+
为什么需要第一个捕获组?@sln:我使用它获取所有连续字母作为第一个组($1
或\1
)。我本来可以避免的。嗯,Perlish$&
可能会减慢速度;如果在一段时间内使用(m/(())/g),可能会更好,但是@ary=m/(())/g可能会存储额外的数据。
egrep `([A-Za-z])\1' < file