如何匹配重复的字符?

时间:2013-03-01 16:26:29

标签: ruby

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

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

aaa

1 个答案:

答案 0 :(得分:10)

尝试string.scan(/((.)\2{2,})/).map(&:first),其中string是您的字符串。

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