簡體   English   中英

Ruby Regex用於字符串中的重復數字

[英]Ruby Regex for repeated numbers in a string

如果我有類似"123123123"的字符串-在這里123重復3次。
1.那么我怎樣才能只獲得"123"的紅寶石?
2.因此,如果字符串是"12312312" -此處123重復2次,然后重復12 ,所以在這里我仍然需要獲取"123"
3.即使string是99123123123 ,我仍然需要得到123
Ruby Regex有可能嗎?

編輯:我想這解決項目歐拉問題26 所以這里123可以是任何東西。 我要提取的是至少2個重復數字中的1個。

此正則表達式將檢測所有重復的組。

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

演示

也適用於紅寶石。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM