From: matz / netlab.co.jp (Yukihiro Matsumoto)
Subject: [ruby-dev:2785] Re: convert Perl's t/regexp.t to ruby
Date: Fri, 29 May 1998 14:06:12 +0900

> 今度はどうでしょう.

落ちなくなりました:->

けれど結果を検討したところ、1つバグを見つけました。(以前から現われてい
たんですが、見落としてました)

not ok 358 a{1,32767}:-:c:"-":/a{1,32767}/: Quantifier in {,} bigger than => -

このテストは正規表現の{}に使える数の限界を調べています。

perl5.004_65で32767以上でエラーとなるのが(実は5.004_04ではチェックして
ません) rubyの場合32768以上の時に正規表現コンパイルエラーとしている違
いなのですが、現在のrubyでは実際にはかなり小さな数までしか正しくマッチ
ングしません。

ruby -e '
 $_ = "a" * 10000
 print /a{1,3200}/ ? "match: #{$&.length}\n" : "not match\n"
 print /a{1,3201}/ ? "match: #{$&.length}\n" : "not match\n"
'
match: 3200
not match

3200という数はシステム依存かもしれません。
--
			   稲葉 浩人 (inaba / st.rim.or.jp)