Wie füge ich eine Zahl nach einer Gruppenübereinstimmung mit „re.sub()' in Python ein?

Patricia Arquette
Freigeben: 2024-11-03 08:43:29
Original
1045 Leute haben es durchsucht

How to Insert a Number After a Group Match using `re.sub()` in Python?

Einfügen einer Zahl nach einer Gruppenübereinstimmung in Python re.sub

In Python ermöglicht die Funktion re.sub() das Ersetzen von Teilzeichenfolgen in einer bestimmten Zeichenfolge. Eine häufige Herausforderung besteht darin, eine Gruppenübereinstimmung durch eine andere Gruppe gefolgt von einer bestimmten Zahl zu ersetzen.

Betrachten Sie zur Veranschaulichung die Aufgabe, „foobar“ durch „foo123bar“ zu ersetzen. Der Versuch, dies mit einem einfachen Ausdruck wie re.sub(r'(foo)', r'1123', 'foobar') zu versuchen, führt leider stattdessen zu „J3bar“.

Der Schlüssel zur Lösung dieses Problems liegt in der Verwendung benannte Capture-Gruppen, die die Referenzierung von Gruppenübereinstimmungen anhand der im regulären Ausdruck zugewiesenen Namen ermöglichen. Mit der Syntax (?P...) können wir eine benannte Capture-Gruppe für den zu ersetzenden Teilstring definieren.

Um die gewünschte Ersetzung zu erreichen, müssen wir die spezielle Syntax g um auf die benannte Capture-Gruppe „foo“ zu verweisen.

Der korrigierte reguläre Ausdruck wäre:

<code class="python">re.sub(r'(?P<foo>foo)', r'\g<foo>123', 'foobar')</code>
Nach dem Login kopieren

Mit diesem Ausdruck fügt die Ersetzung korrekt „123“ nach der Gruppenübereinstimmung „foo“ ein , was die erwartete Ausgabe „foo123bar“ ergibt.

Das obige ist der detaillierte Inhalt vonWie füge ich eine Zahl nach einer Gruppenübereinstimmung mit „re.sub()' in Python ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage