Heim > Backend-Entwicklung > Python-Tutorial > Wie erfasst man mehrere Vorkommen eines Untermusters in Python Regex?

Wie erfasst man mehrere Vorkommen eines Untermusters in Python Regex?

Barbara Streisand
Freigeben: 2024-11-30 22:27:16
Original
985 Leute haben es durchsucht

How to Capture Multiple Occurrences of a Subpattern in Python Regex?

Erfassen sich wiederholender Muster mit Python Regex

Beim Abgleich komplexer Muster wie einer E-Mail-Adresse kann es erforderlich sein, mehrere Vorkommen von zu erfassen ein bestimmtes Untermuster. Im Python-Modul für reguläre Ausdrücke kann dies eine Herausforderung darstellen.

Betrachten Sie das Beispiel des Abgleichs einer E-Mail-Adresse wie „yasar@webmail.something.edu.tr“. Nachdem Sie den ersten Teil der E-Mail abgeglichen haben, möchten Sie möglicherweise ein oder mehrere Vorkommen des Untermusters „.(w)“ erfassen.

Beim Versuch, den Ausdruck „(.w)“ zu verwenden, ist Ihnen das aufgefallen es erfasst nur das letzte Spiel. Dies bedeutet, dass Sie die Gruppen „.something“ und „.edu“ verpassen.

Im regulären Ausdrucksmodul von Python werden wiederholte Erfassungen nicht unterstützt, obwohl sie im Regex-Standard enthalten sind. Aus diesem Grund ist es effektiver, alles auf einmal zu erfassen und die Teilmuster später aufzuteilen.

Hier ist ein Beispiel dafür, wie Sie die Teilmuster nach der Erfassung der E-Mail-Adresse mithilfe eines einfachen Ausdrucks aufteilen können:

import re

pattern = r'([.\w]+)@((\w+)(\.\w+)+)'
match = re.match(pattern, 'yasar@webmail.something.edu.tr')

# Split the subpatterns
subpatterns = match.group(2).split('.')

# Access the subpatterns
print(subpatterns[0])  # 'webmail'
print(subpatterns[1])  # 'something'
print(subpatterns[2])  # 'edu'
Nach dem Login kopieren

Mit dieser Methode können Sie die wiederholten Untermuster einzeln erfassen und darauf zugreifen und so eine unkomplizierte und lesbare Lösung bereitstellen.

Das obige ist der detaillierte Inhalt vonWie erfasst man mehrere Vorkommen eines Untermusters in Python Regex?. 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