Verwendung des symbolischen Gruppennamens mit re.findall ()

8

Ist es möglich, auf den in einem regulären Ausdruck definierten symbolischen Gruppennamen mit (?P<toto>...) mit dem Äquivalent von re.findall() ?

zuzugreifen?

Unter Verwendung von re.match() gibt re eine MatchObject zurück, auf der die Funktion .group('toto') verwendet werden kann ... Ich möchte etwas näheres tun.

Hier ist ein Beispiel:

%Vor%

Es gibt zurück:

%Vor%

Ich möchte etwas wie:

%Vor%

Gibt es dafür einen einfachen Weg? Ich kann es nirgends finden ...

    
Thomas Leonard 27.11.2012, 13:30
quelle

1 Antwort

9

Das geht nicht mit .findall() . Mit .finditer() jedoch denselben Effekt erzielen > und einige Listen Verständnis Magie:

%Vor%

Dies druckt:

%Vor%

Also durchlaufen wir jede Übereinstimmung, die von .finditer() geliefert wurde, und nehmen ihr .groupdict() Ergebnis.

    
Martijn Pieters 27.11.2012, 13:34
quelle

Tags und Links