diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2022-04-06 16:54:44 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-06 16:54:44 (GMT) |
commit | 50872dbadcba1f52867b6f76050cd7b5d0aa1e18 (patch) | |
tree | 2cfb376df7bd63a6438bb3fbafcdc830f641f82d /Lib/re/_parser.py | |
parent | b09184bf05b07b77c5ecfedd4daa846be3cbf0a9 (diff) | |
download | cpython-50872dbadcba1f52867b6f76050cd7b5d0aa1e18.zip cpython-50872dbadcba1f52867b6f76050cd7b5d0aa1e18.tar.gz cpython-50872dbadcba1f52867b6f76050cd7b5d0aa1e18.tar.bz2 |
bpo-47227: Suppress expression chaining for more RE parsing errors (GH-32333)
Diffstat (limited to 'Lib/re/_parser.py')
-rw-r--r-- | Lib/re/_parser.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Lib/re/_parser.py b/Lib/re/_parser.py index eca2ffc..f191f80 100644 --- a/Lib/re/_parser.py +++ b/Lib/re/_parser.py @@ -335,7 +335,7 @@ def _class_escape(source, escape): c = ord(unicodedata.lookup(charname)) except KeyError: raise source.error("undefined character name %r" % charname, - len(charname) + len(r'\N{}')) + len(charname) + len(r'\N{}')) from None return LITERAL, c elif c in OCTDIGITS: # octal escape (up to three digits) @@ -395,7 +395,7 @@ def _escape(source, escape, state): c = ord(unicodedata.lookup(charname)) except KeyError: raise source.error("undefined character name %r" % charname, - len(charname) + len(r'\N{}')) + len(charname) + len(r'\N{}')) from None return LITERAL, c elif c == "0": # octal escape @@ -1014,7 +1014,7 @@ def parse_template(source, state): try: index = groupindex[name] except KeyError: - raise IndexError("unknown group name %r" % name) + raise IndexError("unknown group name %r" % name) from None else: try: index = int(name) @@ -1053,7 +1053,7 @@ def parse_template(source, state): this = chr(ESCAPES[this][1]) except KeyError: if c in ASCIILETTERS: - raise s.error('bad escape %s' % this, len(this)) + raise s.error('bad escape %s' % this, len(this)) from None lappend(this) else: lappend(this) @@ -1074,5 +1074,5 @@ def expand_template(template, match): for index, group in groups: literals[index] = g(group) or empty except IndexError: - raise error("invalid group reference %d" % index) + raise error("invalid group reference %d" % index) from None return empty.join(literals) |