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

variable $1

$1 -> String | nil[permalink][rdoc][edit]
$2 -> String | nil
$3 -> String | nil
$4 -> String | nil
$5 -> String | nil
$6 -> String | nil
$7 -> String | nil
$8 -> String | nil
$9 -> String | nil
$10 -> String | nil
$11 -> String | nil

最後に成功したマッチで n 番目の括弧にマッチした値が格納されます。該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)

番号 n は任意の正整数にできますが、巨大な数に対しては常に nil を返し、警告を表示します。

Regexp.last_match(1), Regexp.last_match(2), ... と同じ。

これらの変数はローカルスコープかつスレッドローカル、読み取り専用です。

str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)">(.*?)</a>] =~ str
  print $1
  print $2
end
#=> "http://example.com"
#=> "example.com"