self[n] -> String | nil[permalink][rdoc][edit]-
n番目の部分文字列を返します。0はマッチ全体を意味します。nの値が負の時には末尾からのインデックスとみなします(末尾の要素が-1番目)。n番目の要素が存在しない時にはnilを返します。- [PARAM]
n: - 返す部分文字列のインデックスを指定します。
/(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" - [PARAM]
self[range] -> [String][permalink][rdoc][edit]-
Range オブジェクト
rangeの範囲にある要素からなる部分配列を返します。- [PARAM]
range: - start..end 範囲式。
/(foo)(bar)/ =~ "foobarbaz" p $~[0..2] # => ["foobar", "foo", "bar"] - [PARAM]
self[start, length] -> [String][permalink][rdoc][edit]-
例start番目からlength個の要素を含む部分配列を返します。/(foo)(bar)/ =~ "foobarbaz" p $~[0, 3] # => ["foobar", "foo", "bar"][SEE_ALSO] Array#[]
self[name] -> String | nil[permalink][rdoc][edit]-
nameという名前付きグループにマッチした文字列を返します。- [PARAM]
name: - 名前(シンボルか文字列)
- [EXCEPTION]
IndexError: - 指定した名前が正規表現内に含まれていない場合に発生します
p /\$(?<dollars>\d+)\.(?<cents>\d+)/.match("$3.67")[:cents] # => "67" p /(?<alpha>[a-zA-Z]+)|(?<num>\d+)/.match("aZq")[:num] # => nil - [PARAM]