From: "NARUSE, Yui" <naruse@...> Date: 2009-08-05T05:14:13+09:00 Subject: [ruby-dev:39017] Re: [Bug #1787] URI ライブラリの正規表現パターン 成瀬です。 Tadayoshi Funaba wrote: >>> 話が少しずれますが、標準ライブラリでは、少くとも scanf、time、date など >>> で同様の問題がでるように思います。一般に、\d が [0-9] ではなくなった事 >>> 態にどう対処するのが正しいでしょうか。 >> 個別具体的に、そのライブラリに置いて \d と [0-9] のどちらが「正しい」かを >> 判断する事になります。 >> URIは許さない方がいいでしょうし、timeやdateでは許してもよいかもしれません。 > > \d が一般化された意義は理解しますが、[0-9] と同等でなくなった事は、いい > 事ばかりでもないように感じます。以前と同じ意味を表現したいが為にほとん > どすべての \d を [0-9] に置き換えるのは大変です。可読性、保守性の面でも > 望ましくないと思います。 > > \d と書いて、[0-9] と同等であると示す方法があれば、[0-9] と書くよりよい > し、むしろ意図が明確になると思いますが、そういうものを検討する余地はあ > るでしょうか。 ちなみに、 :\d は \p{Nd} Unicode Technical Report、Perl、Python、.NET :\d は [0-9] Java, ECMAScript という感じのようです。 http://unicode.org/reports/tr18/ http://docs.activestate.com/activeperl/5.10/lib/pods/perlrecharclass.html http://docs.python.org/3.1/library/re.html http://msdn.microsoft.com/ja-jp/library/20bw873z(VS.80).aspx http://java.sun.com/javase/ja/6/docs/ja/api/java/util/regex/Pattern.html -- NARUSE, Yui <naruse@airemix.jp>