我想匹配正则表达式,并获得匹配字符串中的位置
例如,
"AustinTexasDallasTexas".match_with_posn /(Texas)/
我想要match_with_posn返回如下:[6,17],其中6和17是德克萨斯州两个实例的起始位置。
有什么吗?
使用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]