Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > MatchDataクラス > values_at

instance method MatchData#values_at

values_at(*index) -> [String][permalink][rdoc]

正規表現中の n 番目の括弧にマッチした部分文字列の配列を返します。

0 番目は $& のようにマッチした文字列全体を表します。

[PARAM] index:
インデックスを整数またはシンボル(名前付きキャプチャの場合)で 0 個以上指定します。
m = /(foo)(bar)(baz)/.match("foobarbaz")
# same as m.to_a.values_at(...)
p m.values_at(0, 1, 2, 3, 4)      #=> ["foobarbaz", "foo", "bar", "baz", nil]
p m.values_at(-1, -2, -3, -4, -5) #=> ["baz", "bar", "foo", nil, nil]

m = /(?<a>\d+) *(?<op>[+\-*\/]) *(?<b>\d+)/.match("1 + 2")
m.to_a               #=> ["1 + 2", "1", "+", "2"]
m.values_at(:a, :b, :op) #=> ["1", "2", "+"]

[SEE_ALSO] Array#values_at, Array#[]