On Jan 19, 11:28 am, Peter Otten <__pete...@web.de> wrote: > Brian D wrote: > > Here's a simple named group matching pattern: > > >>>> s = "1,2,3" > >>>> p = re.compile(r"(?P<one>\d),(?P<two>\d),(?P<three>\d)") > >>>> m = re.match(p, s) > >>>> m > > <_sre.SRE_Match object at 0x011BE610> > >>>> print m.groups() > > ('1', '2', '3') > > > Is it possible to call the group names, so that I can iterate over > > them? > > > The result I'm looking for would be: > > > ('one', 'two', 'three') > >>> s = "1,2,3" > >>> p = re.compile(r"(?P<one>\d),(?P<two>\d),(?P<three>\d)") > >>> m = re.match(p, s) > >>> dir(m) > > ['__copy__', '__deepcopy__', 'end', 'expand', 'group', 'groupdict', > 'groups', 'span', 'start']>>> m.groupdict().keys() > > ['one', 'three', 'two']>>> sorted(m.groupdict(), key=m.span) > > ['one', 'two', 'three'] > > Peter
groupdict() does it. I've never seen it used before. Very cool! Thank you all for taking time to answer the question. -- http://mail.python.org/mailman/listinfo/python-list