Как указано в заголовке вопроса, существует ли метод строк Ruby, эквивалентный String # Scan, но вместо того, чтобы просто возвращать список каждого совпадения, он вернет массив из MatchData
s? Например:
# Matches a set of characters between underscore pairs
"foo _bar_ _baz_ hashbang".some_method(/_[^_]+_/) #=> [#<MatchData "_bar_"&rt, <MatchData "_baz_"&rt]
Или любой способ получить тот же или похожий результат был бы хорош. Я хотел бы сделать это, чтобы найти позиции и экстенты "строк" в строках Ruby, например. "goodbye
и "world"
внутри "до свидания" жестокого "мира".