如何匹配重复的字符?

log*_*han 4 ruby

如何使用正则表达式查找重复的字符?

如果我有aaabbab,我想只匹配有三个重复的字符:

aaa
Run Code Online (Sandbox Code Playgroud)

Chr*_*ald 10

试试string.scan(/((.)\2{2,})/).map(&:first),string你的字符串在哪里.

它的工作方式是它查找任何字符并捕获它(点),然后匹配该字符的重复(\2反向引用)2次或更多次({2,}范围意味着"在2和无限时间之间的任何地方").扫描将返回一个数组数组,因此我们将第一个匹配项映射到其中以获得所需的结果.