diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2014-10-10 08:06:31 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2014-10-10 08:06:31 (GMT) |
commit | 7438e4b56fa6a34a021f11e1220331e841419b96 (patch) | |
tree | 5adea0024d47e6816a9e771423e247faeffab0f6 /Lib/sre_parse.py | |
parent | 365e28238f3ccde7f9024a37c212381746748d54 (diff) | |
download | cpython-7438e4b56fa6a34a021f11e1220331e841419b96.zip cpython-7438e4b56fa6a34a021f11e1220331e841419b96.tar.gz cpython-7438e4b56fa6a34a021f11e1220331e841419b96.tar.bz2 |
Issue 1519638: Now unmatched groups are replaced with empty strings in re.sub()
and re.subn().
Diffstat (limited to 'Lib/sre_parse.py')
-rw-r--r-- | Lib/sre_parse.py | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/Lib/sre_parse.py b/Lib/sre_parse.py index b9a1852..063d1b7 100644 --- a/Lib/sre_parse.py +++ b/Lib/sre_parse.py @@ -880,14 +880,12 @@ def parse_template(source, pattern): def expand_template(template, match): g = match.group - sep = match.string[:0] + empty = match.string[:0] groups, literals = template literals = literals[:] try: for index, group in groups: - literals[index] = s = g(group) - if s is None: - raise error("unmatched group") + literals[index] = g(group) or empty except IndexError: raise error("invalid group reference") - return sep.join(literals) + return empty.join(literals) |