[issue2636] Regexp 2.7 (modifications to current re 2.2.2)
report at bugs.python.org
Wed Oct 1 01:42:31 CEST 2008
Matthew Barnett <python at mrabarnett.plus.com> added the comment:
The explanation of the zero-width bug is incorrect. What happens is this:
The functions for finditer(), findall(), etc, perform searches and want
the next one to continue from where the previous match ended. However,
if the match was actually zero-width then that would've made it search
from where the previous search _started_, and it would be stuck forever.
Therefore, after a zero-width match the caller of the search consumes a
character. Unfortunately, that can result a character being 'missed'.
The bug in re.split() is also the result of an incorrect fix to this
I suggest that the regex code should include the fix for the zero-width
split bug; we can have code to turn it off unless a re.ZEROWIDTH flag is
present, if that's the decision.
The patch issue2636+01+09-02+17+18+19+20+21+24+26_speedup.diff includes
Added file: http://bugs.python.org/file11669/issue2636+01+09-02+17+18+19+20+21+24+26_speedup.diff
Python tracker <report at bugs.python.org>
More information about the Python-bugs-list