From: MonkeeSage Date: 2006-09-29T02:55:09+09:00 Subject: Re: Timeout and Exponetial Regexes eden li wrote: > irb(main):001:0> Timeout.timeout 5 do ("a"*300)+"b" =~ /^(a*)*$/ end Hmm...is that a valid expression? Capture "a" zero or more times, and then repeat that capture zero or more times?! What exactly does that mean? perl5 runs it but finds no match: ("a" x 300) . "b" =~ /^(a*)*$/ python spits out an error: import re s = ("a"*300)+"b" re.search(r'^(a*)*$', s) # ... # raise error, v # invalid expression # sre_constants.error: nothing to repeat And ruby 1.9. runs it but finds no match (same as perl). So I think that the expresion is broken and ruby 1.8 has a bug. Regards, Jordan