For non-repeated groups, one can use match.groupdict() to retrieve a dictionary of ALL groups and their values, including un-matched groups. But there is no equivalent for repeated groups: match.captures() only returns values for groups given explicitly in arguments, while groupdict() doesn't include multiple values.
I suggest either:
Change API of captures() so that captures() (no args) returns a dictionary of ALL groups, not just group 0 - this would be the most convenient and intuitive, but would break existing code if somebody relies on this feature.
Add a boolean argument to captures(), say "all", equal False by default, to let the client indicate that a full dictionary is expected.
Add new method, say capturesdict() to return dict of all groups.
What version of the product are you using? On what operating system?
Linux, Python 2.7.2