From: Takahiro Kambe Date: 2003-09-16T18:42:50+09:00 Subject: [ruby-list:38397] Re: 文字クラスと//i ほんとうのところはわかりませんが、 In message <20030916.182335.07162814.rio-t@presen.to> on Tue, 16 Sep 2003 18:25:08 +0900, TAKAISHI Hayato wrote: > > > /[A-_]/i > > > > > > が、invalid regular expression になります。 > > > > これは何にマッチするべきなのでしょうか? > > A-Z, a-z, 0x5b-0x5fかな? > > 私の感覚ではそうなることを期待していました。 Rubyではなく正規表現一般論として、 - AからZ - aからz - 0から9 といったものを範囲指定している限りは、文字エンコーディングに依存しない でアルファベットや数字の範囲を指定する意味がある。言い替えると、この範 囲を越えた場合は文字エンコーディングに依存してしまうため、結果は予期で きない。 といった、解釈もできそうな気がします。コードの読みやすさや移植性といっ た観点からは使わない方が良い気もします。もっとも、日本語EUCの文字の場 合はどうなるんだとか言われると、それにはっきりとは答えられませんが。:-) (と、ここまで書いてから、目一杯ASCIIの文字エンコーディングに依存した範 囲指定な正規表現を自分で書いたperlスクリプトで使ったことがあることを思 い出しました。) -- 神戸 隆博(かんべ たかひろ) at 仕事場