正規表現のパターン一致を引っ張り出す時、どうしてますか?
私は$1を使う軟弱ものです。
/(as).*(you).*(like)/.match('as you like') #=> #<MatchData "as you like" 1:"as" 2:"you" 3:"like"> > $1 #=> "as" > $2 #=> "you" > $3 #=> "like" > $4 #=> nil
毎度お馴染みコーディング規則からすると、
上のようなパターンは古くさいので推奨されてないそうです。
...では、どうするのか?
last_matchメソッドを使います。
> Regexp.last_match #=> #<MatchData "as you like" 1:"as" 2:"you" 3:"like"> > Regexp.last_match[0] #=> "as you like" > Regexp.last_match[1] #=> "as" > Regexp.last_match[2] #=> "you" > Regexp.last_match[3] #=> "like"