Source code for wex.regex

import sys
import re
from .composed import composable
from .iterable import flatten

for name in dir(re):
    if name.isupper() and not name.startswith('_'):
        setattr(sys.modules[__name__], name, getattr(re, name))


[docs]def re_group(pattern, group=1, flags=0): """ Returns a :mod:`composable <wex.composed>` callable that extract the specified group using a regular expression. :param pattern: The regular expression. :param group: The group from the `MatchObject <https://docs.python.org/2/library/re.html#re.MatchObject.group>`_. :param flags: Flags to use when compiling the `pattern <https://docs.python.org/2/library/re.html#re.compile>`_. """ compiled = re.compile(pattern, flags) @composable def regroup(src): for string in flatten(src): for match in compiled.finditer(string): yield match.group(group) return regroup
[docs]def re_groupdict(pattern, flags=0): """ Returns a :mod:`composable <wex.composed>` callable that extract the a group dictionary using a regular expression. :param pattern: The regular expression. :param flags: Flags to use when compiling the `pattern <https://docs.python.org/2/library/re.html#re.compile>`_. """ compiled = re.compile(pattern, flags) compiled = re.compile(pattern, flags) @composable def redict(src): for string in flatten(src): for match in compiled.finditer(string): yield match.groupdict() return redict