re module: Nothing to repeat, but no sre_constants.error: nothing to repeat ?

MRAB python at mrabarnett.plus.com
Tue Feb 14 13:05:59 EST 2012


On 14/02/2012 15:53, Devin Jeanpierre wrote:
> On Tue, Feb 14, 2012 at 10:05 AM, Vlastimil Brom
> <vlastimil.brom at gmail.com>  wrote:
>>  However, is there any realistic usecase for repeated zero-width anchors?
>
> Maybe. There is a repeated zero-width anchor is used in the Python re
> test suite, which is what made me notice this. I assume that came from
> some actual use-case. (see:
> http://hg.python.org/cpython/file/096e856a01aa/Lib/test/test_re.py#l599
> )
>
> And yeah, even something as crazy as ()* works, but as soon as it
> becomes (a*)* it doesn't work. Weird.
>
I think it's a combination of warning the user about something that's 
pointless,
as in the case of "$*", and producing a pattern which could cause the 
internal
regex engine to get stuck in an infinite loop.

It is inconsistent in that it warns about "$*" but not "(?=$)*" even
though they are basically equivalent.



More information about the Python-list mailing list