Issue 732120: An extended definition of "non-overlapping" would save time. (original) (raw)
Hello.
Yesterday I spent several hours trying to figure out why a (stupid) regex like "^|foo" didn't return ['', 'foo'] for findall("foo").
Like this:
|f|o|o| 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 doc/python2.2/html/lib/node99.html.