Мне нужна функция для возврата всех совпадений регулярного выражения в строке и позиций, в которых найдены совпадения (я хочу выделить совпадения в строке).
Существует строка соответствия, которая возвращает MatchData, но только для первого совпадения.
Есть ли лучший способ сделать это, чем что-то вроде
matches = []
begin
match = str.match(regexp)
break unless match
matches << match
str = str[match.end(0)..-1]
retry
end