From: NAITOH Jun Date: 2001-01-14T21:43:54+09:00 Subject: [ruby-list:27113] 文字クラス "\w" 内藤と申します。 Rubyの正規表現の文字クラス"\w" で悩んでいたのですが、 英数字以外に、多バイトな日本語も含むのですね。 Rubyプログラミング入門 P226 表 4.4 の"\w"の説明が、 > 略記 文字クラス 意味 > \w [0-9A-Za-z] 英数字 とあるのですが、次のページには、 「すなわち、\wと\Sと\Dは日本語の文字1文字にマッチします。」 と、いう説明があるので、"\W"の間違いじゃないの? と、よくわからず悩んでおりました。 (実際にはKCODEを指定した場合、 多バイト文字が\wにマッチしましたので後半部分の説明はあってますが。) Ruby1.4のリファレンスマニュアル(日本語版)には > \w > 英数字.[0-9A-Za-z_]と同じ > 日本語のいわゆる全角文字も含む http://www.ruby-lang.org/ja/man-1.4/syntax.html#regexp とあるので、Rubyプログラミング入門も、 こういった表現の方がわかりやすくていいと思います。 ("_"も、含むのですね。) Ruby ユーザーズガイド http://www.ruby-lang.org/ja/uguide/uguide05.html Ruby チュートリアル http://www.ruby-lang.org/ja/tutorial/tutorial03.html こちらも"\w"についての説明の部分に、 日本語(多バイト文字)についての説明があった方がいいと思います。 オブジェクト指向スクリプト言語Ruby(いわゆるRuby本)も、同様に"\w"について 説明不足な感じがします。 (すでに他の方が御指摘されていたらすいません。) とりあえず、気づいた点だけ報告させて頂きました。 -- NAITOH Jun naitoh@be-in.org