Heim > Backend-Entwicklung > Python-Tutorial > Detaillierte Erläuterung regulärer Ausdrücke in Python (Beispielanalyse)

Detaillierte Erläuterung regulärer Ausdrücke in Python (Beispielanalyse)

乌拉乌拉~
Freigeben: 2018-08-22 16:54:00
Original
1195 Leute haben es durchsucht

In diesem Artikel werden wir das fortgeschrittene Wissen über reguläre Ausdrücke ausführlich vorstellen und einige Probleme aufschreiben, die bei der Python-Programmierung auftreten können Beispiele für reguläre Ausdrücke.

Der erste Punkt für fortgeschrittenes Wissen:

Split String

Die Verwendung regulärer Ausdrücke zum Aufteilen von Zeichenfolgen ist flexibler als die Verwendung fester Zeichen. Bitte beachten Sie den normalen Aufteilungscode:

>>> 'a b   c'.split(' ')
['a', 'b', '', '', 'c']
Nach dem Login kopieren

Nun, fortlaufende Leerzeichen können nicht erkannt werden:

>>> re.split(r'\s+', 'a b   c')
['a', 'b', 'c']
Nach dem Login kopieren

Kann sein normal geteilt, egal wie viele Leerzeichen es gibt. Beitreten, versuchen Sie:

>>> re.split(r'[\s\,]+', 'a,b, c  d')
['a', 'b', 'c', 'd']
Nach dem Login kopieren

Erneut beitreten; versuchen Sie:

>>> re.split(r'[\s\,\;]+', 'a,b;; c  d')
['a', 'b', 'c', 'd']
Nach dem Login kopieren

Wenn der Benutzer eine Reihe von Tags eingibt, denken Sie daran, beim nächsten Mal reguläre Ausdrücke zu verwenden, um unregelmäßige Eingaben in korrekte Arrays umzuwandeln.

Gruppe

Reguläre Ausdrücke bestimmen nicht nur einfach, ob eine Übereinstimmung vorliegt, sondern haben auch die leistungsstarke Funktion, Teilzeichenfolgen zu extrahieren. Was durch () dargestellt wird, ist die zu extrahierende Gruppe. Beispiel:

^(d{3})-(d{3,8})$ definiert jeweils zwei Gruppen, und die Vorwahl und die Vorwahl können direkt daraus extrahiert werden passende Zeichenfolge. Lokale Nummer:

>>> m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345')
>>> m
<_sre.SRE_Match object; span=(0, 9), match=&#39;010-12345&#39;
>>>> m.group(0)
&#39;010-12345&#39;
>>> m.group(1)
&#39;010&#39;
>>> m.group(2)
&#39;12345&#39;
Nach dem Login kopieren

Wenn eine Gruppe im regulären Ausdruck definiert ist, können Sie die Methode group() für das Match-Objekt verwenden, um die Teilzeichenfolge zu extrahieren.

Beachten Sie, dass Gruppe(0) immer die Originalzeichenfolge ist, Gruppe(1), Gruppe(2)... die 1., 2.,... Teilzeichenfolgen darstellen.

Das Extrahieren von Teilzeichenfolgen ist sehr nützlich. Schauen wir uns ein brutaleres Beispiel an:

>>> t = &#39;19:05:30&#39;
>>> m = re.match(r&#39;^(0[0-9]|1[0-9]|2[0-3]|[0-9])\:(0[0-9]|1[0-9]
|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])\:(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])$&#39;, t)
>>> m.groups()
(&#39;19&#39;, &#39;05&#39;, &#39;30&#39;)
Nach dem Login kopieren

Dieser reguläre Ausdruck kann die gesetzliche Zeit direkt identifizieren. Aber manchmal können reguläre Ausdrücke nicht zur vollständigen Überprüfung verwendet werden, z. B. zur Identifizierung von Datumsangaben:

&#39;^(0[1-9]|1[0-2]|[0-9])-(0[1-9]|1[0-9]|2[0-9]|3[0-1]|[0-9])$&#39;
Nach dem Login kopieren

für '2-30', '4-31' So illegal Daten können mit regulären Ausdrücken nicht identifiziert werden oder es ist sehr schwierig, sie auszuschreiben. In diesem Fall ist ein Programm erforderlich, das bei der Identifizierung mitarbeitet.

Der gesamte Inhalt dieses Artikels stellt hauptsächlich das Wissen im Zusammenhang mit regulären Ausdrücken in Python dar. Ich hoffe, dass Sie die oben genannten Informationen verwenden können. Ich hoffe, dass das, was ich in diesem Artikel beschrieben habe, für Sie hilfreich ist und Ihnen das Erlernen von Python erleichtert.

Weitere Informationen zu diesem Thema finden Sie in der Spalte Python-Tutorial auf der chinesischen PHP-Website.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung regulärer Ausdrücke in Python (Beispielanalyse). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage