Извлечение шаблона, который появляется несколько раз в строке, используя регулярное выражение ruby - PullRequest
4 голосов
/ 17 февраля 2012

Я хочу извлечь шаблоны, которые появляются в строке несколько раз.Например, получение двух массивов из двухзначных целых чисел из строки

wahoaet56oihaioet67jlkiwoeah67ladohwae45lkaowearho56

Я думал, result="wahoaet56oihaioet67jlkiwoeah67ladohwae45lkaowearho56".match(/([0-9]{2})/) должен дать объект MatchData, метод captures должендайте мне множество подходящих шаблонов, но мне кажется, что я что-то упускаю.Это только вернет первую находку.Даже использование $1,$2,$3 и т. Д. Не работает.Я использую ruby ​​

Как мне это сделать?

Ответы [ 2 ]

10 голосов
/ 17 февраля 2012
string.scan(/regex/)

должен это сделать

5 голосов
/ 17 февраля 2012

scan делает то, что вы хотите:

str = "wahoaet56oihaioet67jlkiwoeah67ladohwae45lkaowearho56"
p str.scan(/\d+/) #=> ["56", "67", "67", "45", "56"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...