Dieser Artikel bietet Ihnen eine Einführung (Codebeispiel) über reguläre Python-Ausdrücke und eine Referenz. Ich hoffe, dass er Ihnen weiterhilft.
Ein regulärer Ausdruck ist eine Zeichenfolge, die ein Suchmuster definiert. Typischerweise wird dieses Muster von Zeichenfolgensuchalgorithmen zum Suchen oder Suchen und Ersetzen von Zeichenfolgen oder zur Eingabevalidierung verwendet.
1. Reguläre Ausdruckssyntax
Stellt ein beliebiges einzelnes Zeichen dar
[] Zeichensatz , gibt einen Wertebereich für ein einzelnes Zeichen an
[^] Nicht-Zeichensatz, gibt einen Ausschlussbereich für ein einzelnes Zeichen an
* Das vorherige Zeichen wird 0-mal oder unendlich erweitert
+ Das vorherige Zeichen wird 1-mal oder unendlich erweitert
Das vorherige Zeichen wird 0-mal erweitert? mal oder 1 Erweiterung
|Jeder der linken und rechten Ausdrücke
{m} erweitert das vorherige Zeichen m-mal
{m,n} erweitert das vorherige Zeichen m auf das n-fache
^ stimmt mit dem Anfang der Zeichenfolge überein
$entspricht der Zeichenfolge Endung
() Gruppierungszeichen, nur der |.-Operator
d Zahlen können intern verwendet werden, was äquivalent ist bis [0-9]
w Wortzeichen, äquivalent zu [A-Z,a-z,0-9]
2. Verwendung der Re-Bibliothek in Python
Re-Bibliothek ist die Standardbibliothek von Python, die hauptsächlich für den String-Abgleich verwendet wird: import re
re Die Bibliothek verwendet den Raw-String-Typ zur Darstellung regulärer Ausdrücke, der ausgedrückt wird als
r'text'
Rohstring ist ein String, der keine Escape-Zeichen mehr enthält , kurz gesagt, String maskiert Zeichen, unformatierte Zeichenketten jedoch nicht, da Escape-Symbole in regulären Ausdrücken vorkommen. Um Langeweile zu vermeiden, verwenden wir unformatierte Zeichenketten
re.search() sucht die erste Position des regulären Ausdrucks in einer Zeichenfolge und gibt das Übereinstimmungsobjekt
re zurück .match() Gleicht einen regulären Ausdruck vom Anfang einer Zeichenfolge ab und gibt ein Übereinstimmungsobjekt zurück
re.findall() Suchzeichenfolge, gibt alle zurück Abgleich von Teilzeichenfolgen im Listentyp
re.split() Teilt eine Zeichenfolge entsprechend dem Ergebnis der regulären Ausdrucksübereinstimmung und gibt den Listentyp
re.finditer() Suchzeichenfolge und Rückgabe eines Iterationstyps passender Ergebnisse. Jedes Iterationselement ist ein Übereinstimmungsobjekt
re. sub()Ersetzen Sie alle Teilzeichenfolgen, die dem regulären Ausdruck in einem String entsprechen, und geben Sie den ersetzten String zurück
import re match = re.search(r'[1-9]\d{5}', 'BIT 100081') if match: print(match.group(0)) 结果为100081
2.2.2. re.match(pattern, string, flags =0)
Beispiel:
import re match = re.match(r'[1-9]\d{5}', 'BIT 100081') print(match.group(0)) 结果会报错,match为空,因为match函数是 从字符串开始位置开始匹配,因为从开始位置没有匹配到,所以为空
Beispiel:
import re ls=re.findall(r'[1-9]\d{5}', 'BIT100081 TSU100084') print(ls) 结果为['100081', '100084']
import re re.split(r'[1-9]\d{5}', 'BIT100081 TSU100084') 结果['BIT', ' TSU', ' '] re.split(r'[1-9]\d{5}', 'BIT100081 TSU100084', maxsplit=1) 结果['BIT', ' TSU100081']
2.2.5. re.finditer(pattern, string, maxsplit=0, flags=0)
2.2.6 (Muster, Repl, String, Anzahl=0, Flags=0)
Ersetzen Sie alle Teilstrings, die dem regulären Ausdruck in einem String entsprechen, und geben Sie den ersetzten String zurück
repl: Ersetzen Sie die Zeichenfolge, die mit der Zeichenfolge übereinstimmt
Anzahl: Die maximale Anzahl von Ersetzungen für die Übereinstimmung
Beispiel:
import re for m in re.finditer(r'[1-9]\d{5}', 'BIT100081 TSU100084'): if m: print(m.group(0)) 结果为 100081 100084
import re re.sub(r'[1-9]\d{5}', ':zipcode', 'BIT100081 TSU100084') 结果为 'BIT:zipcode TSU:zipcode'
rst=re.search(r'[1-9]\d{5}', 'BIT 100081') 函数式的调用,一次性操作
regex=re.complie(pattern,flags=0)
regex hat auch die oben genannten sechs Verwendungen2.4 Match-Objekt von Re-Bibliothek
Match-Objekt ist das Ergebnis einer Übereinstimmung und enthält viele Übereinstimmungsinformationen
Das Folgende sind Attribute des Match-Objekts
.string Zu vergleichender Text
.re Musterobjekt, das für den Vergleich verwendet wird (regulärer Ausdruck)
.pos Die Startposition des Suchtexts für reguläre Ausdrücke
.endpos Die Endposition des Suchtexts für reguläre Ausdrücke
Im Folgenden sind die Methoden des Match-Objekts
.group(0) aufgeführt, um die übereinstimmende Zeichenfolge
den kleinsten passenden
Das obige ist der detaillierte Inhalt vonEinführung in reguläre Python-Ausdrücke und Re-Bibliothek (Codebeispiele). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!