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

时间:2012-02-16 20:27:26

标签: ruby regex

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

  

wahoaet56oihaioet67jlkiwoeah67ladohwae45lkaowearho56

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

我该怎么做?

2 个答案:

答案 0 :(得分:10)

string.scan(/regex/)

应该这样做

答案 1 :(得分:5)

scan做你想做的事:

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