Мое текущее решение состоит в том, чтобы добавить метод each_match в регулярное выражение:
class Regexp
def each_match(str)
start = 0
while matchdata = self.match(str, start)
yield matchdata
start = matchdata.end(0)
end
end
end
Теперь я могу сделать:
numbers.each_match input do |match|
puts "Found #{match[0]} at #{match.begin(0)} until #{match.end(0)}"
end
Скажите, что есть лучший способ.