MatchData

处理正则表达式匹配数据的类。此类的实例通过下面的三个途径获得:

超类

方法

self[n]

返回第 n 个子字符串。0 代表整个匹配字符串。当 n 为负值时,则会从尾部算起(最后一个元素的索引是 -1)。若第 n 个元素不存在,则返回 nil。

/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.to_a       # => ["foobar", "foo", "bar", nil]
p $~[0]         # => "foobar"
p $~[1]         # => "foo"
p $~[2]         # => "bar"
p $~[3]         # => nil        (doesn't match)
p $~[4]         # => nil        (out of range)
p $~[-2]        # => "bar"
post_match

返回匹配部分后面的字符串。

pre_match

返回匹配部分前面的字符串。

to_a

返回包含 $&, $1, $2, ... 的数组。

to_s

返回整个匹配字符串。