summaryrefslogtreecommitdiffstats
path: root/Lib/sre_compile.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/sre_compile.py')
-rw-r--r--Lib/sre_compile.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/Lib/sre_compile.py b/Lib/sre_compile.py
index e5c501e..36986eb 100644
--- a/Lib/sre_compile.py
+++ b/Lib/sre_compile.py
@@ -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
)