DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23132>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23132

Perl5Util.match() hangs/loops in certain cases

[EMAIL PROTECTED] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|Major                       |Enhancement
             Status|NEW                         |RESOLVED
         Resolution|                            |LATER



------- Additional Comments From [EMAIL PROTECTED]  2003-09-12 15:00 -------
Although this behavior is unfortunate, it is not a bug per se.  Perl regular
expressions are mini-programs of sorts and can easily lead to slow matching
or even infinite loops.  This behavior is common when you nest quantifiers
which produce ambiguous interpretations for an NFA and cause every possible
interpretation of the expression to be attempted. In cases where one of the
quantifiers matches the null (zero-length) string, this can lead to infinite
matching.  Various versions of Perl, including Perl5.003 exhibit this exact
behavior.  We hope to eradicate this behavior as we move to Perl 5.8
compatibility.  However, the problem can always be solved by writing an
equivalent, but more precise regular expression.  For example, if you
change your expression to the equivalent:
   String validationRE = "^(\\w[-\\w_.'&\\/]+)@(\\w+[-_.])+\\w+$";
backtracking is minimized and all matches complete rapidly.

I'm marking this report as LATER and changing the Severity level to
Enhancement so we keep in mind we would like to handle "inefficient"
regular expressions more efficiently.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to