Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > MatchDataクラス > []
self[n] -> String | nil
[permalink][rdoc]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 (マッチしていない) p $~[4] # => nil (範囲外) p $~[-2] # => "bar"
self[range] -> [String]
[permalink][rdoc]Range オブジェクト range の範囲にある要素からなる部分配列を返します。
/(foo)(bar)/ =~ "foobarbaz" p $~[0..2] # => ["foobar", "foo", "bar"]
self[start, length] -> [String]
[permalink][rdoc]start 番目から length 個の要素を含む部分配列を返します。
/(foo)(bar)/ =~ "foobarbaz" p $~[0, 3] # => ["foobar", "foo", "bar"]
[SEE_ALSO] Array#[]
self[name] -> String | nil
[permalink][rdoc]name という名前付きグループにマッチした文字列を返します。
/\$(?<dollars>\d+)\.(?<cents>\d+)/.match("$3.67")[:cents] # => "67" /(?<alpha>[a-zA-Z]+)|(?<num>\d+)/.match("aZq")[:num] # => nil