--- Lib/sre_compile.py Mon Sep 22 01:00:01 2008 +++ Lib/sre_compile.py Mon Sep 22 16:55:45 2008 @@ -320,11 +320,10 @@ emit(offset) elif op is SUBPATTERN: if av[0]: - group_index = info.group_count - mark_1, mark_2 = group_index * 2, group_index * 2 + 1 + mark_1, mark_2 = av[0] * 2 - 2, av[0] * 2 - 1 if dir < 0: mark_1, mark_2 = mark_2, mark_1 - info.group_count += 1 + info.group_count = max(info.group_count, av[0]) emit(OPCODES[MARK]) emit(mark_1) _compile(code, av[1], flags, info, dir)