Используя Ruby 1.8.6+, вы можете сделать это:
require 'enumerator' #Only for 1.8.6, newer versions should not need this.
s = "AustinTexasDallasTexas"
positions = s.enum_for(:scan, /Texas/).map { Regexp.last_match.begin(0) }
Это создаст массив с:
=> [6, 17]