[Python-de] Probleme mit regulären Ausdruck
Florian Lindner
mailinglists at xgm.de
Fr Okt 14 16:50:07 CEST 2011
Hallo,
ich probiere einen regulären Ausdruck zusammenzubauen.
re.match(r"(.+)\.(.+)_(.+)", "A.B_C").groups()
-> ('A', 'B', 'C')
Macht schon soweit alles was ich will, A, B und C landen in den entsprechenden
Groups. Nun will ich jedoch den Teil hinter den _ optional machen. "A.B" soll
also ebenfalls gematcht werden, mit der dritten Gruppe dann halt None oder
nicht-existent. Daran scheitere ich jedoch noch.
re.match(r"(.+)\.(.+)(?:_(.+))?", "A.B_C").groups()
-> ('A', 'B_C', None)
Wenn ich die + Operatoren zu non-greedy umschalte, dann versagt der RegExp bei
ausdrücken mit mehreren Buchstaben
re.match(r"(.+?)\.(.+?)(?:_(.+))?", "Aa.Bb_Cc").groups()
-> ('Aa', 'B', None)
Wer kann mir da ein wenig auf die Sprünge helfen?
Danke,
Florian
Mehr Informationen über die Mailingliste python-de