Yukihiro Matsumotoさんの <1017379007.731523.9276.nullmailer / ev.netlab.jp>から > |/(a?)?/はエラーでなくて、/(?:a?)?/はエラーになる > |というのは、意図的にそうしているのですが、 > |変更したほうがいいのでしょうか? > > これはどういう意図なのでしょう。なんとなくどちらもエラーのよ > うに思うのですが。 ()の場合、内側の?も影響を与えることがあるのではないかと思います。 p(/(.?)?/.match("")[1]) # => "" p(/(.)?/.match("")[1]) # => nil それから最新版では、 ?,*,+と同じになる{n,m}を使用した場合には、 エラーチェックをしないようにしています。 /a{0,1}{0,1}/ etc... 数値から合成されることもあると思ってそうしたのですが、 それほど意味はないかもしれません。 -- 小迫@ソフネック 渋谷区恵比寿1-15-1