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
This only match the first occurrence it seems.
string.scan
does the job partially but it doesn't tell anything about the index of the matched pattern.
How do i get a list of all the matched instances of the pattern and their indices (positions)?