[issue47163] "unterminated subpattern" in valid regex if re.VERBOSE is used
Ned Batchelder
report at bugs.python.org
Wed Mar 30 07:49:35 EDT 2022
New submission from Ned Batchelder <ned at nedbatchelder.com>:
In this code, the same regex is compiled with and without re.VERBOSE. Without, it compiles fine. With, it fails with an "unterminated subpattern" error.
list_num_rx1 = r"""(?P<paren>\()?(\d+|#|[a-z])(?(paren)\)|\.)"""
list_num_rx2 = r"""(?x)(?P<paren>\()?(\d+|#|[a-z])(?(paren)\)|\.)"""
# This works:
re.compile(list_num_rx1)
# Either of these fails:
re.compile(list_num_rx1, flags=re.VERBOSE)
re.compile(list_num_rx2)
(What I really wanted was this, but the error happens without the multiline string:)
list_num_rx = r"""(?x)
(?P<paren>\()? # maybe an opening paren
(\d+|#|[a-z]) # the number: 123, or #, or a-z
(?(paren) # if we had an opening paren..
\)| # then we need a closing paren
\. # otherwise a dot.
)
"""
----------
components: Regular Expressions
messages: 416340
nosy: ezio.melotti, mrabarnett, nedbat
priority: normal
severity: normal
status: open
title: "unterminated subpattern" in valid regex if re.VERBOSE is used
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue47163>
_______________________________________
More information about the Python-bugs-list
mailing list