Heim >Backend-Entwicklung >Python-Tutorial >Python – Überprüfen Sie, ob eine Zeichenfolge mit einer Liste regulärer Ausdrücke übereinstimmt
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 als Metazeichen bezeichnet 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.
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 Modul re verwenden, 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()'.
In diesem Beispiel wird die Funktion re.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}")
String matches pattern: Hello
Eine weitere Möglichkeit, passende Muster zu finden, ist die Verwendung eines Listenverständnisses und der Funktion re.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.
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 Liste matching_patterns zu erstellen, die die regulären Ausdrücke in regex_list enthält, die dem String-Stil entsprechen Modus. Anschließend verwenden wir die Funktion re.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)
Matching patterns: ['Hello']
any() ist eine der in Python verfügbaren Funktionen, mit der überprüft werden kann, ob ein Element in einer Listensequenz regulärer Ausdrücke wahr ist. Wir können dies mit re.search() kombinieren, um zu prüfen, ob ein Regex-Muster mit der Zeichenfolge übereinstimmt.
In diesem Beispiel wird die Funktion any() verwendet, um die Elemente der Liste regulärer Ausdrücke zu durchlaufen und mit re.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")
String matches at least one pattern
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!