ブロックで使用gsub
することにより、正規表現の一致をこのブロックの結果で置き換えることができます。
s = "russ(ai)(edocn)cup"
s.gsub(/\(([^)]*)\)/) {$1.reverse} # => "russiancodecup"
ここで、正規表現は)
角かっこで囲まれた文字以外の文字と一致します。次に、角かっこで囲まれた内容が送信reverse
されます。$1
$0
完全一致になり$n
、n番目の「サブマッチ」になります。(正しい単語は誰ですか?)