Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | MatchData | values_at

概要

MatchData#values_at -> [String]

詳細

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

サンプルコード
require 'tbpgr_utils'

"-----hogehigehage@@@@@" =~ /(h\wge)(h\wge)(h\wge)/

bulk_puts_eval binding, <<-EOS
$~
$~.values_at(0)
$~.values_at(1)
$~.values_at(1, 2)
$~.values_at(-1, -2)
EOS

__END__
下記はTbpgrUtils gemの機能
bulk_puts_eval

https://rubygems.org/gems/tbpgr_utils
https://github.com/tbpgr/tbpgr_utils

出力

$~                   # => #<MatchData "hogehigehage" 1:"hoge" 2:"hige" 3:"hage">
$~.values_at(0)      # => ["hogehigehage"]
$~.values_at(1)      # => ["hoge"]
$~.values_at(1, 2)   # => ["hoge", "hige"]
$~.values_at(-1, -2) # => ["hage", "hige"]