2016-08-10 5 views
0

Kann ich eine Variable aus dem ersten Argument von re() verwenden, um es im zweiten Argument zu verwenden? Lassen Sie mich mit einem Beispiel erklären:Python re() mit? P

re.sub(r'(?P<id>>>>[0-9]+)', 'sometext(?P=id)sometext', self.text)) 

Kann ich id Variable in 'sometext (P = id?) Sometext' verwenden? Eigentlich funktioniert dieser Code nicht, also bin ich hierher gekommen.

+0

Haben Sie [die Dokumentation] (https://docs.python.org/2/library/re.html) gelesen? – BrenBarn

+0

Das zweite Argument von 're()' kann eine Funktion sein. Es wird für jede Musterübereinstimmung aufgerufen und es wird ein Übereinstimmungsobjekt übergeben. Es sollte die neue Zeichenfolge zurückgeben, damit Sie die Variable auf diese Weise erhalten können. – cdarke

Antwort

2

Sie können sich auf eine Erfassungsgruppe anhand der Nummer beziehen, z. Die erste einfangende Gruppe wäre \1.