- experimental: added two new attributes to the match object:

"lastgroup" is the name of the last matched capturing group,
  "lastindex" is the index of the same group.  if no group was
  matched, both attributes are set to None.

  the (?P#) feature will be removed in the next relase.
This commit is contained in:
Fredrik Lundh 2000-07-02 22:25:39 +00:00
parent c9c02c4cf3
commit c2301730b8
4 changed files with 38 additions and 13 deletions

View file

@ -298,8 +298,14 @@ def compile(p, flags=0):
assert p.pattern.groups <= 100,\
"sorry, but this version only supports 100 named groups"
# map in either direction
groupindex = p.pattern.groupdict
indexgroup = [None] * p.pattern.groups
for k, i in groupindex.items():
indexgroup[i] = k
return _sre.compile(
pattern, flags,
array.array(WORDSIZE, code).tostring(),
p.pattern.groups-1, p.pattern.groupdict
p.pattern.groups-1, groupindex, indexgroup
)