Seite 1 von 1

RE Grouping

Verfasst: Freitag 20. November 2009, 14:51
von ms4py
Hallo,
mach gerade das RE HowTo durch und häng an folgender Stelle:

Code: Alles auswählen

>>> m = re.match("([abc])+", "abc")
>>> m.groups()
('c',)
Warum hier nur der letzte Buchstabe matched, ist mir irgendwie nicht klar...

Re: RE Grouping

Verfasst: Freitag 20. November 2009, 14:55
von /me
ice2k3 hat geschrieben:

Code: Alles auswählen

>>> m = re.match("([abc])+", "abc")
>>> m.groups()
('c',)
Warum hier nur der letzte Buchstabe matched, ist mir irgendwie nicht klar...
Du fängst in der Gruppe nur ein Zeichen. Wenn du mehr haben möchtest, dann muss der Code leicht anders aussehen:

Code: Alles auswählen

m = re.match("([abc]+)", "abc")

Re: RE Grouping

Verfasst: Freitag 20. November 2009, 15:10
von ms4py
/me hat geschrieben: Du fängst in der Gruppe nur ein Zeichen.
Klar! ;)
Mir war allerdings nicht klar, warum das auf den letzten Buchstaben des ersten Wortes matched...

Code: Alles auswählen

>>> m = re.search(r"(\w)+", "abc def")
>>> m.groups()
('c',)
Ist mir jetzt allerdings klar, er geht ja solange durch, bis es eben nicht mehr passt. (Automatentheorie war doch nicht so umsonst)