使用ruby regex提取在字符串中多次出现的模式

ser*_*i12 4 ruby regex

我想在字符串中多次提取appert的模式.例如,从字符串中获取两个数组的两位数整数

wahoaet56oihaioet67jlkiwoeah67ladohwae45lkaowearho56

我认为 result="wahoaet56oihaioet67jlkiwoeah67ladohwae45lkaowearho56".match(/([0-9]{2})/)应该给一个MatchData对象,其captures方法应该给我一个匹配模式的数组,但似乎有一些我缺少的东西.它只回馈第一个发现.即使使用$1,$2,$3等也行不通.我正在使用红宝石

我该怎么做?

oha*_*aal 10

string.scan(/regex/)
Run Code Online (Sandbox Code Playgroud)

应该这样做


ste*_*lag 5

scan 做你想要的:

str = "wahoaet56oihaioet67jlkiwoeah67ladohwae45lkaowearho56"
p str.scan(/\d+/) #=> ["56", "67", "67", "45", "56"]
Run Code Online (Sandbox Code Playgroud)