diff -r 29ea3827cfaa Lib/sre_parse.py --- a/Lib/sre_parse.py Mon Dec 21 14:17:12 2015 -0600 +++ b/Lib/sre_parse.py Fri Dec 25 21:31:16 2015 +0100 @@ -853,6 +853,8 @@ literal = [] lappend = literal.append def addgroup(index): + if index > pattern.groups: + raise IndexError("unknown index %r" % index) if literal: literals.append(''.join(literal)) del literal[:]