Ruby 2.0 の正規表現での名前付きキャプチャに問題があります。文字列変数と補間された正規表現があります。
str = "hello world"
re = /\w+/
/(?<greeting>#{re})/ =~ str
greeting
次の例外が発生します。
prova.rb:4:
<main>': undefined local variable or method
main:Object (NameError)
シェルの挨拶で 1 が返されました
ただし、補間式は名前付きキャプチャがなくても機能します。例えば:
/(#{re})/ =~ str
$1
# => "hello"