Python – Überprüfen Sie, ob eine Zeichenfolge mit einer Liste regulärer Ausdrücke übereinstimmt

WBOY
Freigeben: 2023-09-04 08:49:08
nach vorne
1528 Leute haben es durchsucht

Python - 检查字符串是否与正则表达式列表匹配

Ein regulärer Ausdruck, auch regulärer Ausdruck genannt, ist eine Zeichenfolge, die ein Suchmuster bildet. Es ist eines der leistungsstarken Werkzeuge zum Mustervergleich und zur Bearbeitung von Zeichenfolgen. In Python gibt es ein Modul namens re, das bei der Bildung regulärer Ausdrücke hilft.

Reguläre AusdrückeMuster bestehen aus gewöhnlichen Zeichen (z. B. Buchstaben, Zahlen) und Sonderzeichen, die alsMetazeichenbezeichnet werden. Metazeichen haben besondere Bedeutungen und ermöglichen uns die Definition komplexer Suchmuster. Im Folgenden sind einige häufig verwendete Metazeichen in regulären Python-Ausdrücken aufgeführt.

  • . (Punkt)– entspricht jedem einzelnen Zeichen außer Zeilenumbruch.

  • ^ (Caret)− entspricht dem Anfang einer Zeichenfolge.

  • $(USD)– Entspricht dem Ende einer Zeichenfolge.

  • * (Sternchen)– Entspricht null oder mehr Vorkommen des vorhergehenden Musters.

  • + (Pluszeichen)– Entspricht einem oder mehreren Vorkommen des vorhergehenden Musters.

  • ? (Fragezeichen)– Entspricht null oder einem Vorkommen des vorhergehenden Musters.

  • [] (eckige Klammern)– Definiert eine Zeichenklasse und entspricht jedem einzelnen Zeichen innerhalb der eckigen Klammern.

  • () (Klammern)– Gruppieren Sie Muster und erfassen Sie passende Teilzeichenfolgen.

  • (Backslash)– Metazeichen maskieren oder spezielle Sequenzen einführen.

Andere zusätzliche reguläre Ausdrücke unterstützen spezielle Sequenzen, die gängige Muster darstellen, wie unten beschrieben.

  • d– Entspricht einer beliebigen Zahl, die [0-9] entspricht.

  • w– Entspricht jedem alphanumerischen Zeichen, das [a-zA-Z0-9_] entspricht.

  • s– entspricht jedem Leerzeichen.

  • b- Passen Sie Wortgrenzen an.

  • A– Entspricht dem Anfang einer Zeichenfolge ähnlich wie ^ , berücksichtigt jedoch keine mehrzeiligen Muster.

  • Z– Entspricht dem Ende einer Zeichenfolge ähnlich wie $ , berücksichtigt jedoch keine mehrzeiligen Muster.

In Python gibt es mehrere Möglichkeiten, zu überprüfen, ob eine Zeichenfolge mit einer Liste regulärer Ausdrücke (Regex) übereinstimmt. Schauen wir uns jede Methode einzeln an.

Re-Modul verwenden

Das Modul „re“ in Python stellt Funktionen für die Arbeit mit regulären Ausdrücken bereit. Wir können die Funktion „re.match()“ aus dem Modulreverwenden, um zu überprüfen, ob eine Zeichenfolge mit einem Regex-Muster übereinstimmt, und um die Regex-Musterliste zu überprüfen. Wir können über die Liste iterieren und für jedes Muster den Aufruf‘ durchführen. re.match()'.

Beispiel

In diesem Beispiel wird die Funktionre.match()verwendet, um zu prüfen, ob eine Zeichenfolge mit jedem Muster in der regex_list übereinstimmt. Wenn eine Übereinstimmung gefunden wird, wird das Muster gedruckt.

import re string = "Hello, Welcome to Tutorialspoint!" regex_list = [r"Hello", r"\bWelcome\b", r"\d+"] for pattern in regex_list: if re.match(pattern, string): print(f"String matches pattern: {pattern}")
Nach dem Login kopieren

Ausgabe

String matches pattern: Hello
Nach dem Login kopieren

Verwenden Sie Listenverständnis und re.search()

Eine weitere Möglichkeit, passende Muster zu finden, ist die Verwendung eines Listenverständnisses und der Funktionre.search(). Indem wir ein Listenverständnis verwenden, ohne die Liste mit regulären Ausdrücken zu iterieren, können wir eine neue Liste erstellen, die das passende Muster enthält.

Beispiel

In diesem Beispiel verwenden wir ein Listenverständnis und die Zeile[pattern for pattern in regex_list if re.search(pattern, string)], um eine neue Listematching_patternszu erstellen, die die regulären Ausdrücke in regex_list enthält, die dem String-Stil entsprechen Modus. Anschließend verwenden wir die Funktionre.search(), um das erste Vorkommen des Musters in der Zeichenfolge zu finden.

import re string = "Hello,happy learning!" regex_list = [r"Hello", r"\bWelcome\b", r"\d+"] matching_patterns = [pattern for pattern in regex_list if re.search(pattern, string)] print("Matching patterns:", matching_patterns)
Nach dem Login kopieren

Ausgabe

Matching patterns: ['Hello']
Nach dem Login kopieren

Verwenden Sie die Funktion „any()“ und „re.search()“

Die Funktion

any()ist eine der in Python verfügbaren Funktionen, mit der überprüft werden kann, ob ein Element in einer Listensequenz regulärer Ausdrückewahrist. Wir können dies mitre.search()kombinieren, um zu prüfen, ob ein Regex-Muster mit der Zeichenfolge übereinstimmt.

Beispiel

In diesem Beispiel wird die Funktionany()verwendet, um die Elemente der Liste regulärer Ausdrücke zu durchlaufen und mitre.search()zu prüfen, ob ein Muster mit der Zeichenfolge übereinstimmt. . Wenn eine Übereinstimmung gefunden wird, wird „String stimmt mit mindestens einem Muster überein“ gedruckt.

import re string = "Hello, Welcome to Tutorialspoint!" regex_list = [r"Hello", r"\bWelcome\b", r"\d+"] if any(re.search(pattern, string) for pattern in regex_list): print("String matches at least one pattern")
Nach dem Login kopieren

Ausgabe

String matches at least one pattern
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonPython – Überprüfen Sie, ob eine Zeichenfolge mit einer Liste regulärer Ausdrücke übereinstimmt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
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 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!