From: "K.Kosako" Date: 2002-03-30T15:23:45+09:00 Subject: [ruby-dev:16685] Re: [OniGuruma] nested repeat operator Yukihiro Matsumotoさんの<1017384610.022846.10234.nullmailer@ev.netlab.jp>から > |()の場合、内側の?も影響を与えることがあるのではないかと思います。 > | > |p(/(.?)?/.match("")[1]) # => "" > |p(/(.)?/.match("")[1]) # => nil > > なるほどねえ。でも、使いやすさの観点からはそろえておいたほう > がよいかもしれません。 エラーを出す条件をGNU regexに合わせました。 従って、どちらもエラーにはなりません。 但し、冗長な繰り返し演算子に対しては、Rubyのverboseモードでだけ warningを出すようにしました。 /(?:a?)?/ # => warning /(a?)?/ # => OK /a????/ # => warning などです。 -- 小迫@ソフネック 渋谷区恵比寿1-15-1