Ruby on rails 用于字符串中重复数字的Ruby正则表达式

Ruby on rails 用于字符串中重复数字的Ruby正则表达式,ruby-on-rails,ruby,regex,computer-science,Ruby On Rails,Ruby,Regex,Computer Science,如果我有一个像“123123123”-这里123重复3次。 1.那么我怎样才能在ruby中只获得“123”? 2.因此,如果字符串是“12312312”,这里的123重复2次,然后就是12,所以这里仍然需要得到“123”。 3.即使字符串是99123123,我仍然需要得到123。 这在Ruby正则表达式中可能吗? 编辑:我想解决这个问题。所以这里的123可以是任何东西。我只想从至少两个重复的数字中提取一个数字。试试这个 99123123123.scan(/123/).count 123

如果我有一个像
“123123123”
-这里
123
重复3次。
1.那么我怎样才能在ruby中只获得
“123”

2.因此,如果字符串是
“12312312”
,这里的
123
重复2次,然后就是
12
,所以这里仍然需要得到
“123”

3.即使字符串是
99123123
,我仍然需要得到
123

这在Ruby正则表达式中可能吗?

编辑:我想解决这个问题。所以这里的
123
可以是任何东西。我只想从至少两个重复的数字中提取一个数字。

试试这个

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

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

(\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

在任何正则表达式中都不可能,因为我认为123是动态的而不是静态的123,最好用ruby编写一个程序来修复它。。。不是直接/间接正则表达式可解决的问题重复组的最小长度是多少?对不起,我已更新了问题-请检查!你最好不要用字符串操作来解决这些问题。做一些数学,相信我,它会更容易。这将如何帮助你解决这个练习?