Wie verwende ich Gruppennummern bei der Ersetzung regulärer Ausdrücke in Python?

Barbara Streisand
Freigeben: 2024-11-03 13:23:30
Original
830 Leute haben es durchsucht

How to Use Group Numbers in Regular Expression Substitution in Python?

Ersetzung durch Gruppennummer bei der Ersetzung regulärer Ausdrücke

Beim Versuch, einen Platzhalter durch eine Gruppennummer gefolgt von einer angegebenen Zeichenfolge zu ersetzen, wird die Anweisung re.sub(r'(foo)', r'1123', 'foobar') schlägt fehl, was zu 'J3bar' führt. Dies liegt daran, dass der numerische Teil wörtlich interpretiert wird und nicht als Rückverweis auf die Gruppe.

Um dieses Problem zu lösen, kann man den Befehl g verwenden. Syntax, wobei Gruppennummer die Gruppe bezeichnet, auf die verwiesen werden soll. Beispielsweise ersetzt re.sub(r'(foo)', r'g<1>123', 'foobar') effektiv 'foobar' durch 'foo123bar'.

Die Python-Dokumentation erklärt diese Funktionalität als folgt:

  • g verweist auf die Teilzeichenfolge, die mit einer Gruppe namens „name“ übereinstimmt.
  • g verweist auf die entsprechende Gruppennummer.
  • g<0> verweist auf die gesamte Teilzeichenfolge, die mit dem regulären Ausdruck übereinstimmt.

Das obige ist der detaillierte Inhalt vonWie verwende ich Gruppennummern bei der Ersetzung regulärer Ausdrücke in Python?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!