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