This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: An extended definition of "non-overlapping" would save time.
Type: enhancement Stage:
Components: Documentation Versions:
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: rhettinger Nosy List: foolip, rhettinger
Priority: normal Keywords:

Created on 2003-05-04 09:56 by foolip, last changed 2022-04-10 16:08 by admin. This issue is now closed.

Messages (2)
msg15861 - (view) Author: Philip Jägenstedt (foolip) Date: 2003-05-04 09:56

Yesterday I spent several hours trying to figure out
why a (stupid) regex like "^|foo" didn't return ['',
'foo'] for findall("foo").

Like this:

0 1 2 3

I figured the ^ would match 0-0 and then a 0-3 match
for foo. I've learnt since that the reason this can't
happen is because the regexp engine would get caught in
an infinte loop. However, the two matches aren't really
overlapping, and the docs state that all
non-overlapping matches would be returned.

I suggest therefor that it is clarified in the docs
that non-overlapping doesn't apply to a zero-length
match at the beginning of another potential match.

This would apply to findall and finditer in
msg15862 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2003-08-31 05:31
Logged In: YES 

Nice catch.

Applied fix to Doc/lib/libre.tex 1.103 and
Date User Action Args
2022-04-10 16:08:34adminsetgithub: 38440
2003-05-04 09:56:57foolipcreate