Ruby Regex用于字符串中的重复数字

如果我有一个像"123123123"这样的字符串 – 这里123重复3次。
那么我怎样才能在ruby中只获得"123"
2.所以如果字符串是"12312312" – 这里123重复2次然后只有12 ,所以这里仍然需要得到"123"
3.即使字符串是99123123123 ,我仍然需要获得123
这可能在Ruby Regex中有用吗?

编辑:我希望这能解决Project Euler Problem 26 。 所以这里123可以是任何东西。 我想要的是提取1个至少2个重复数字。

此正则表达式将检测所有重复组。

(\d+)(?=.*\1)

演示

与ruby一起使用也很棒。

 result = '9912341234123'.scan(/(\d+)(?=.*\1)/) #gets group with largest length longestRepeatingGroup = result.max_by{|arr| arr[0].length} puts longestRepeatingGroup puts longestRepeatingGroup[0].length 

试试这个

 99123123123.scan(/123/).count 12312312.scan(/123/).count