results = {}
for match in re.finditer('(?P<b>.b.)|(?P<i>.i.)', 'abcdefghijk'):
    results.update(dict((k, v) for k, v in match.groupdict().items() if
        v is not None))
results
Можно ли получить произвольный неупорядоченный набор именованных групп одним махом с помощью модуля Python re?