Issues #814253, #9179: Group references and conditional group references now

work in lookbehind assertions in regular expressions.
This commit is contained in:
Serhiy Storchaka 2014-11-07 21:43:57 +02:00
parent b556399fb5
commit 84df7fe6a2
4 changed files with 67 additions and 12 deletions

View file

@ -352,10 +352,11 @@ class Scanner:
s = sre_parse.Pattern()
s.flags = flags
for phrase, action in lexicon:
gid = s.opengroup()
p.append(sre_parse.SubPattern(s, [
(SUBPATTERN, (len(p)+1, sre_parse.parse(phrase, flags))),
(SUBPATTERN, (gid, sre_parse.parse(phrase, flags))),
]))
s.groups = len(p)+1
s.closegroup(gid, p[-1])
p = sre_parse.SubPattern(s, [(BRANCH, (None, p))])
self.scanner = sre_compile.compile(p)
def scan(self, string):