Re: Possible bug in `re` module in Python 3.11?

MRAB <[email protected]> Wed, 26 Oct 2022 17:41:59 +0100
Newsgroups gmane.comp.python.devel
Message-ID <[email protected]>
On 2022-10-26 09:17, Piotr Waszkiewicz wrote:
> Hi,
> I would like to ask your guidance as I'm entirely sure whether the problem I'm experiencing should be posted in CPython's repo as a bug issue.
> I've tried using newly released Python 3.11 interpreter in some of my projects and one of them failed to start with "RuntimeError: invalid SRE code" error.
> 
> Looking into implementation of one of the dependencies I've found out that the issue has been found out by a maintainer and fixed (https://github.com/pydicom/pydicom/issues/1658).
> It looks like this particular regexp caused the `re.compile()` method to raise:
> 
> ```
>     re.compile(
>          r"(?P<h>^([01][0-9]|2[0-3]))"
>          r"((?P<m>([0-5][0-9]))?"
>          r"(?(5)(?P<s>([0-5][0-9]|60))?)"
>          r"(?(7)(\.(?P<ms>([0-9]{1,6})?))?))$"
>      )
> ```
> 
> I've checked and this hasn't been an issue in all previous Python interpreter versions, starting from 3.6 (the oldest I've checked).
> What's more the regex i correctly recognized and does not cause any issues in other regexp implementations, e.g. the online tool https://regex101.com/
> 
> Could somebody help me decide whether this is indeed a bug?
> 
It's definitely a bug.

If it was complaining about the pattern then it might or might not be a 
bug, you'd need to check more closely, but "invalid SRE code" is 
definitely a bug.