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

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

乌拉乌拉~
乌拉乌拉~Original
2018-08-22 16:54:001114Durchsuche

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']

Nun, fortlaufende Leerzeichen können nicht erkannt werden:

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

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']

Erneut beitreten; versuchen Sie:

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

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;

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;)

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;

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!

Stellungnahme:
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