Skip to content

Enhance API of captures() to enable retrieval of ALL groups at once, as a dictionary #86

@mrabarnett

Description

@mrabarnett

Original report by Marcin Wojnarski (Bitbucket: mwojnars, GitHub: mwojnars).


Hi,

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:

  1. 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.

  2. Add a boolean argument to captures(), say "all", equal False by default, to let the client indicate that a full dictionary is expected.

  3. Add new method, say capturesdict() to return dict of all groups.

Thanks
Marcin

What version of the product are you using? On what operating system?

0.1.20130120
Linux, Python 2.7.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions