Python-RegEx
- Vorherige Seite Python-JSON
- Nächste Seite Python-PIP
RegEx oder reguläre Ausdrücke sind eine Zeichenfolge, die Suchmuster bildet.
RegEx kann verwendet werden, um zu überprüfen, ob eine Zeichenfolge bestimmte Suchmuster enthält.
RegEx
Python bietet einen Modul namens re
eines Standardpakets, das zur Verarbeitung regulärer Ausdrücke verwendet werden kann.
Import re
Modul:
import re
RegEx in Python
Import re
Nach dem Importieren kann mit regulären Ausdrücken begonnen werden:
Beispiel
Durchsucht den String, um zu überprüfen, ob er mit "China" beginnt und mit "country" endet:
import re txt = "China ist ein großes Land" x = re.search("^China.*country$", txt)
RegEx-Funktionen
re
Das Modul bietet eine Reihe von Funktionen, die es uns erlauben, Strings zu durchsuchen, um Übereinstimmungen zu finden:
Funktion | Beschreibung |
---|---|
findall | Gibt eine Liste zurück, die alle Übereinstimmungen enthält |
search | Gibt ein Match-Objekt zurück, wenn an irgendeiner Stelle im String eine Übereinstimmung vorhanden ist |
split | Gibt eine Liste zurück, die den String bei jeder Übereinstimmung aufteilt |
sub | Ersetzt eine oder mehrere Übereinstimmungen mit einem String |
Meta-Zeichen
Meta-Zeichen sind Zeichen mit besonderer Bedeutung:
Zeichen | Beschreibung | Beispiel | TIY |
---|---|---|---|
[] | Eine Gruppe von Zeichen | "[a-m]" | Versuchen Sie es! |
\ | Zeigt spezielle Sequenzen an (kann auch zur Umgehung spezieller Zeichen verwendet werden) | "\d" | Versuchen Sie es! |
. | Jeder Zeichen (außer dem Zeilenumbruch) | "he..o" | Versuchen Sie es! |
^ | Begint mit | "^hello" | Versuchen Sie es! |
$ | Endet mit | "world$" | Versuchen Sie es! |
* | Nullmal oder mehrmals auftreten | "aix*" | Versuchen Sie es! |
+ | Einmal oder mehrmals auftreten | "aix+" | Versuchen Sie es! |
{} | Genau angegebene Anzahl der Wiederholungen | "al{2}" | Versuchen Sie es! |
| | Eines der beiden | "falls|stays" | Versuchen Sie es! |
()] | Kapturen und Gruppierung |
Spezielle Sequenz
Spezielle Sequenz bedeutet \
gefolgt von einem der Zeichen im folgenden Tisch, hat eine besondere Bedeutung:
Zeichen | Beschreibung | Beispiel | TIY |
---|---|---|---|
\A | Gibt die Übereinstimmung zurück, wenn das angegebene Zeichen am Anfang des Strings vorhanden ist | "\AThe" | Versuchen Sie es! |
\b | Gibt eine Übereinstimmung zurück, bei der das angegebene Zeichen am Anfang oder am Ende des Wortes vorhanden ist |
r"\bain" r"rain\b" |
Versuchen Sie es! Versuchen Sie es! |
\B | Gibt eine Übereinstimmung zurück, bei der das angegebene Zeichen vorhanden ist, aber nicht am Anfang (oder am Ende) des Wortes |
r"\Bain" r"rain\B" |
Versuchen Sie es! Versuchen Sie es! |
\d | Gibt eine Übereinstimmung zurück, bei der der String Ziffern enthält (Ziffern 0-9) | "\d" | Versuchen Sie es! |
\D | Gibt eine Übereinstimmung zurück, bei der der String keine Ziffern enthält | "\D" | Versuchen Sie es! |
\s | Gibt eine Übereinstimmung zurück, bei der der String Leerzeichen enthält | "\s" | Versuchen Sie es! |
\S | Gibt eine Übereinstimmung zurück, bei der der String keine Leerzeichen enthält | "\S" | Versuchen Sie es! |
\w | Gibt eine Übereinstimmung zurück, bei der der String beliebige Wortzeichen enthält (von a bis Z, von 0 bis 9 und dem Unterstrich _ Zeichen) |
"\w" | Versuchen Sie es! |
\W | Gibt eine Übereinstimmung zurück, bei der der String keine Wortzeichen enthält | "\W" | Versuchen Sie es! |
\Z | Gibt die Übereinstimmung zurück, wenn der angegebene Zeichen am Ende des Strings vorhanden ist | "Spanien\Z" | Versuchen Sie es! |
Set (Menge)
Set (Set) ist ein Paar eckige Klammern []
Ein Set von Zeichen, die spezielle Bedeutung haben:
Sammlung | Beschreibung | Versuchen Sie es! |
---|---|---|
[arn] | Gibt einen Match zurück, der eines der angegebenen Zeichen (a, r oder n) enthält | Versuchen Sie es! |
[a-n] | Gibt alle kleinen Buchstaben zwischen a und n zurück | Versuchen Sie es! |
[^arn] | Gibt alle Zeichen zurück, die nicht a, r und n sind | Versuchen Sie es! |
[0123] | Gibt alle Matches zurück, die jede der angegebenen Ziffern (0, 1, 2 oder 3) enthalten | Versuchen Sie es! |
[0-9] | Gibt alle Ziffern zwischen 0 und 9 zurück | Versuchen Sie es! |
[0-5][0-9] | Gibt alle Ziffern zwischen 0 und 9 zurück | Versuchen Sie es! |
[a-zA-Z] | Gibt alle Zeichen zwischen a und z zurück, sowohl Klein- als auch Großbuchstaben | Versuchen Sie es! |
[+] | In der Sammlung haben +, *, ., |, (), $, {} keine besondere Bedeutung, daher bedeutet [+] zurückzuführen: | Versuchen Sie es! |
findall() Funktion
findall()
Die Funktion gibt eine Liste zurück, die alle Matches enthält.
Beispiel
Druckt die Liste aller Matches aus:
import re str = "China ist ein großartiges Land" x = re.findall("a", str) print(x)
Diese Liste enthält die Matches in der Reihenfolge, in der sie gefunden werden.
Wird kein Match gefunden, wird eine leere Liste zurückgegeben:
Beispiel
Wird kein Match gefunden, wird eine leere Liste zurückgegeben:
import re str = "China ist ein großartiges Land" x = re.findall("USA", str) print(x)
search() Funktion
search()
Die Funktion durchsucht das String nach einem Match und gibt im Fall eines Matches einen Match-Objekt zurück.
Wenn mehrere Matches vorhanden sind, wird nur das erste Match zurückgegeben:
Beispiel
Sucht nach dem ersten Leerzeichen-Zeichen im String:
import re str = "China ist ein großartiges Land" x = re.search("\s", str) print("Der erste Leerzeichen-Zeichen befindet sich in Position:", x.start())
Wird kein Match gefunden, wird der Wert zurückgegeben None
:
Beispiel
Durchsuchen ohne Rückgabe des Matches:
import re str = "China ist ein großartiges Land" x = re.search("USA", str) print(x)
split() Funktion
split()
Die Funktion gibt eine Liste zurück, in der der String bei jedem Match geteilt wird:
Beispiel
Teilt den String an jeder Leerzeichen-Zeichen:
import re str = "China ist ein großartiges Land" x = re.split("\s", str) print(x)
Sie können durch die Angabe} maxsplit
Parameter zur Kontrolle der Anzahl der Erscheinungen:
Beispiel
Teilt den String nur an der ersten Erscheinung:
import re str = "China ist ein großartiges Land" x = re.split("\s", str, 1) print(x)
sub() Funktion
sub()
Die Funktion ersetzt das Matchen durch den gewählten Text:
Beispiel
Mit der Zahl 9 wird jeder Leerzeichen-Zeichen ersetzt:
import re str = "China ist ein großartiges Land" x = re.sub("\s", "9", str) print(x)
Sie können durch die Angabe} count
Parameter zur Kontrolle der Anzahl der Ersetzungen:
Beispiel
Ersetzen Sie die ersten beiden Vorkommen:
import re str = "China ist ein großartiges Land" x = re.sub("\s", "9", str, 2) print(x)
Match-Objekt
Match-Objekt ist ein Objekt, das Informationen über die Suche und das Ergebnis enthält.
Anmerkung:Wird kein Übereinstimmung erkannt, wird der Rückgabewert zurückgegeben None
statt Match-Objekt.
Beispiel
Die Suche wird einen Match-Objekt zurückgeben
import re str = "China ist ein großartiges Land" x = re.search("a", str) print(x) # Eine Objekt wird gedruckt
Das Match-Objekt bietet Attribute und Methoden zur Rücknahme von Informationen über die Suche und das Ergebnis:
span()
Das zurückgegebene Tupel enthält den Anfangs- und Endpunkt der Übereinstimmung.string
Geben Sie den String, der in die Funktion übergeben wurde, zurückgroup()
Geben Sie den teilweisen übereinstimmenden String zurück
Beispiel
Drucken Sie die Position der ersten Übereinstimmung (Beginn und Ende der Position) aus.
Suchen Sie nach regulären Ausdrücken, die mit einem großen "C" beginnen:
import re str = "China ist ein großartiges Land" x = re.search(r"\bC\w+", str) print(x.span())
Beispiel
Drucken Sie den String, der in die Funktion übergeben wurde:
import re str = "China ist ein großartiges Land" x = re.search(r"\bC\w+", str) print(x.string)
Beispiel
Drucken Sie den teilweiligen angepassten String aus.
Suchen Sie nach regulären Ausdrücken, die mit einem großen "C" beginnen:
import re str = "China ist ein großartiges Land" x = re.search(r"\bC\w+", str) print(x.group())
Anmerkung:Wird kein Übereinstimmung erkannt, wird der Rückgabewert zurückgegeben None
statt Match-Objekt.
- Vorherige Seite Python-JSON
- Nächste Seite Python-PIP