Perl regex engine tries to avoid (endless) backtracking and/or recursion as much as possible. It also has implementation limits or kludges (depending on how you see it). The repeat count(er) seems to be a 16-bit value. Indeed, if you specify a {1,77777} qualifier, you'd see an error
Quantifier in {,} bigger than 32766 in regex; ...
The warning message ("recursion limit exceeded") itself is misleading. There is no recursion involved in your regex, only iteration. The message is the same in either case.
To work around the limitation, you could double the repeat qualifiers,
(?: (?: ... )+ )*+or similar. Explicit bound {1,32000} is probably better as it gets rid of the warning, as well.
In reply to Re: What regex can match arbitrary-length quoted string?
by Anonymous Monk
in thread What regex can match arbitrary-length quoted string?
by jimav
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |