quoteメソッドでメタ文字をエスケープ

はてなブックマークに追加はてなブックマーク Yahoo!ブックマークに登録 ニフティクリップに追加 Livedoor クリップに追加 BuzzurlにブックマークBuzzurlにブックマーク Twitterに投稿  

quoteメソッドは、正規表現に使われるメタ文字をエスケープします。
正規表現に使われるメタ文字の文字列を、そのままの表記の文字列として使いたい場合は、quoteメソッドを使うと便利です。

re = Regexp.new(Regexp.quote("hello* world!"))
p re
p re =~ "hellooooo world!"
p re =~ "hello world!"
p re =~ "hello* world!"
 
if result = re =~ "hello* world!"
    puts "#{result} is true"
else
    puts "#{result} is false"
end

実行結果。

/hello\*\ world!/
nil
nil
0
0 is true

日時: 2008年06月27日 17:46
コメントを投稿






トラックバック

■この記事のトラックバックURL:
http://www.mapee.jp/mpe334/mt-tb.cgi/380

この記事にトラックバックされる方は、参照先が分かるようにするために、「quoteメソッドでメタ文字をエスケープ」へのリンクをお願いいたします。
以下のHTMLタグをトラックバック送信元ページ内に挿入して下さい。



※この記事へのリンクがない、また関連のないページからのトラックバックは反映されませんので、ご了承下さい。






あわせて読みたいブログパーツ
フィードメーター - Ruby勉強ルーム