MatchData
MatchData
MatchData
是特殊变量$~的类型,同时也是由Regexp#match和Regexp.last_match返回的对象的类型。它封装(包含)了模式匹配的所有结果——这些结果通常可由特殊变量$`, $‘, $1, $2来访问(这与Perl正则里面的变量使用方法基本一致)。
公共实例方法 match
总的来说有以下几种用法 :
mtch[i] → str or nilclick to toggle source
mtch[start, length] → array
mtch[range] → array
mtch[name] → str or nil
其中: mtch[0] 等价于特殊亦是$&,即整个匹配的string. mtch[1], mtch[2] 等待则返回的是匹配的反向索引的值。举个例子:
m = /(\s*)([+-]?)(\d+)/.match(" -1234") m #=> "#<MatchData " -1234" 1:" " 2:"-" 3:"1234"> m[0] #=> " -1234" m[3] #=> "1234"