Heim > Artikel > Backend-Entwicklung > Wie ersetzt man Übereinstimmungen ordnungsgemäß durch nummerierte Gruppen in Pythons re.sub?
Python RE.Sub-Gruppe: Nummerierung nach Nummer
Bei der Verwendung regulärer Ausdrücke in Python kann die re.sub-Methode zum Ersetzen verwendet werden stimmt mit einer Ersatzzeichenfolge überein. Bei der Arbeit mit nummerierten Gruppen kann die Syntax jedoch schwierig sein.
Ein falsch interpretierter Versuch:
Zunächst könnten Sie Folgendes versuchen:
<code class="python">re.sub(r'(foo)', r'23', 'foobar')</code>
Erwartet, dass die Ausgabe „foo123bar“ lautet, gibt aber stattdessen „J3bar“ zurück und ersetzt „foo“ durch „J3“, aus Gründen, die möglicherweise nicht sofort klar sind.
Die richtige Syntax:
Um „foo“ genau durch „foo123“ zu ersetzen, verwenden Sie die folgende Syntax:
<code class="python">re.sub(r'(foo)', r'\g<1>123', 'foobar')</code>
Hier ist eine detaillierte Erklärung:
Dokumentationsauszug:
Laut Dokumentation ist die Syntax von g
Zusätzlich zu Zeichen-Escapezeichen und Rückverweisen ... gverwendet die Teilzeichenfolge, die mit der Gruppe namens name übereinstimmt, wie in der (?P ...)-Syntax definiert. g verwendet die entsprechende Gruppennummer.
Das obige ist der detaillierte Inhalt vonWie ersetzt man Übereinstimmungen ordnungsgemäß durch nummerierte Gruppen in Pythons re.sub?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!