Ruby 4.0 リファレンスマニュアル

instance method MatchData#names

names -> [String][permalink][rdoc][edit]

名前付きキャプチャの名前を文字列配列で返します。

self.regexp.names と同じです。

p /(?<foo>.)(?<bar>.)(?<baz>.)/.match("hoge").names
# => ["foo", "bar", "baz"]

m = /(?<x>.)(?<y>.)?/.match("a") # => #<MatchData "a" x:"a" y:nil>
p m.names                        # => ["x", "y"]