Ruby String # scan эквивалентно возврату MatchData

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

11
задан Jwosty 2 March 2012 в 04:34
поделиться