From: matz@... (Yukihiro Matsumoto) Date: 2003-01-22T18:34:12+09:00 Subject: [ruby-dev:19418] Re: [] 内での \001 のマッチ まつもと ゆきひろです In message "[ruby-dev:19417] Re: [] 内での \001 のマッチ" on 03/01/22, UENO Katsuhiro writes: |On Wed, 22 Jan 2003 17:40:40 +0900 |matz@ruby-lang.org (Yukihiro Matsumoto) wrote: | |> えーと、じゃなくてRubyの正規表現は数値表記が現れるとマルチバ |> イトの一部にもマッチするという凶悪な仕様になってます。将来は |> この仕様はなくなるとは思いますが、今この時点でなくすのは互換 |> 性の観点から恐いので鬼車に移行する時点にしましょう。 | |ということは、こうなるべきなんですね。 | | p "\xc2\x80".scan(/[\200]/u) # => ["\200"] | p "\xc2\x80".scan(/\200/u) # => ["\200"] | p "\xc3\x83".scan(/[\303]/u) # => ["\303"] | p "\xc3\x83".scan(/\303/u) # => ["\303"] | | # \200 = \x80, \303 = \xc3, "\xc3\x83" = U+00C3 | |ちなみに現状はこうです。 そうなのかな。いや、上記の「凶悪な仕様」はEUCやSJISの性質 (0x80-0xffのコードポイントがない)に依存しているので、UTF-8で は成立しない(してはいけない)のではないかと思います。 ちゅーことは現状でよいのではないかと。これをむりやり合わせる と将来の移行でますます困りそうです。