• ベストアンサー

Rubyでの正規表現

Rubyにおいて、下のようなプログラムを組んだのですが、 エラーが出ます。"{"や"+"が予約語(?)なのが問題なのだと思いますが、 どのようにして回避すればよいのでしょうか?? str = "{N1+N2}+N3" reg = "{N1+N2}" if str =~ /#{reg}/ p "ok" end

質問者が選んだベストアンサー

  • ベストアンサー
noname#223623
noname#223623
回答No.1

reg = Regexp.escape("{N1+N2}") ではどうですか? 確認したバージョン:ruby 1.8.3 (2005-09-21) [i386-mswin32]

candlefire
質問者

お礼

バージョンは1.8.2でしたが、 上記の方法で出来ましたー どうもありがとうございました。

その他の回答 (1)

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.2

reg = "\\{N1\\+N2\\}" としてください。これであなたの望んだ結果が得られます。

candlefire
質問者

お礼

上記の方法で、出来ました! ありがとうございました!

関連するQ&A