string = "Jack and Jill went up the hill to fetch a pail of water. Jack fell down and broke his crown. And Jill came tumbling after. "
d = string.match(/(jack|jill)/i) # -> MatchData "Jill" 1:"Jill"
d.size # -> 1
Это соответствует только первому вхождению.
string.scan
выполняет задание частично, но ничего не сообщает об индексе совпадающего шаблона.
Как мне получить список всех совпадающих экземпляров шаблона и их индексов (позиций)?