From: WATANABE Hirofumi Date: 2002-02-26T15:49:44+09:00 Subject: [ruby-dev:16104] Re: Ruby M17N request わたなべです。 Yukihiro Matsumoto writes: :|一方、RubyもPerlも :| /(?:a|(?i)b)x/ :|はbだけです。つまりPerlだとaだけ(?i)にするには順番を入れ換え :|るしか方法はないわけで、Rubyの今の仕様のほうがしっくりきます。 : :そうかなあ。(?i)の有効範囲の説明が大変にならない? うーむ。 /(?:(?i)a|b)x/ と書いたらaもbも有効で /(?:a|(?i)b)x/ だとbだけというほうが説明しづらいと思ったけど、 /(?:a|(?i)b|c)x/ だとPerlはbもcも有効なのか。 つまりPerlは(?i)以降が範囲ってわけですね。 /(?:a|c(?i)|b)x/ だとbだけだし。 :aだけ(?i)したいときには (?:(?i:a)|b) とすればよいわけで。 なるほど。とすれば /(?i:a|b)x/ のときはRubyもPerlも挙動は同じで、aもbも有効なわけですよね。 ならば /(?:(?i)a|b)x/ はaだけ有効でいいと思うんだけどなあ。 -- わたなべひろふみ