Как в основном указано в заголовке вопроса, существует ли метод для строк 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, например «до свидания
и « мир »
внутри« до свидания, жестокий «мир» ».