Das letzte Mal, als viele Freunde über das Blockieren von Text geschrieben und die Verwendung regulärer Ausdrücke erwähnt haben, ist es nicht so, dass ich keine regulären Ausdrücke verwenden möchte (ich verwende reguläre Ausdrücke nicht sehr oft, wie jeder weiß, der meine vorherigen Crawler gesehen hat, Ich verwende die Webseiten-Tags von BeautifulSoup direkt, um Inhalte zu finden, weil sie leicht zu verstehen und praktisch sind, aber es ist schwierig, die regulären Regeln zu beherrschen (jeder, der die reguläre Tabelle gesehen hat, sollte wissen, dass es viele Methodenregeln gibt, die den Symbolen entsprechen darin, was sehr flexibel ist) für Freunde, die schon lange nicht mehr mit dem Programmieren vertraut sind Es ist sehr wahrscheinlich, dass beim Programmieren viel Zeit verschwendet wird. Heute werde ich die häufig verwendeten regulären Ausdrücke kurz vorstellen. Sofern sie nicht sehr speziell sind, werden sie grundsätzlich verwendet.
1. Eine kurze Einführung in reguläre Ausdrücke
Zuerst müssen Sie die reguläre Methode import re importieren. Regulärer Ausdruck ist ein leistungsstarkes Werkzeug zur Verarbeitung von Zeichenfolgen und verfügt über eine eigene unabhängige Methode Verarbeitung Der Mechanismus ist möglicherweise nicht so effizient wie die eigene Methode von str, aber seine Funktion ist sehr flexibel und leistungsstark. Der Vorgang besteht darin, zunächst eine Übereinstimmungsregel zu definieren („gewünschter Inhalt + reguläre Grammatikregeln“), die abzugleichende Zeichenfolge einzugeben und dann die gewünschten Informationen über den internen Mechanismus der regulären Regeln abzurufen.
2. Mehrere häufig verwendete Haltungen von findall
Die Grundstruktur ist ungefähr: nojoke = re.findall(r'passende Regeln','die gewünschte Zeichenfolge „abgerufen“ ist das Ergebnis, das wir schließlich durch reguläre Ausdrücke zurückgegeben haben. Die Suche nach allen R-Flags, die von regulären Ausdrücken gefolgt werden, erleichtert die Überprüfung, wenn viel Code vorhanden ist Beispiele zum besseren Verständnis
Dieser Code dient dazu, alle Bi-Zeichen in der Suchzeichenfolge zu finden und sie in Form einer Liste zurückzugeben. Dies wird häufig zum Zählen der Anzahl verwendet Vorkommen einheitlicher Charaktere. Schauen Sie sich weiter den nächsten
Hier wird ein Symbol ^ hinzugefügt, um anzuzeigen, dass die Zeichenfolge zurückgegeben wird, die mit der Zeichenfolge beginnt, die mit abi beginnt. Sie können auch bestimmen, ob die Zeichenfolge beginnt mit Abi.
Hier wird das $-Symbol verwendet, um die Rückgabe der Zeichenfolge darzustellen, die mit gbi endet, um zu bestimmen, ob die Zeichenfolge endet.
Hier bedeutet [...], die Werte von a und f oder b und f oder c und f in den Klammern abzugleichen, um eine Liste zurückzugeben.
„d“ ist eine reguläre Grammatikregel, die verwendet wird, um Zahlen zwischen 0 und 9 abzugleichen und eine Liste zurückzugeben. Es ist zu beachten, dass 11 als Zeichenfolge „1“ behandelt wird ' und '1 'Return anstatt die Zeichenfolge '11' zurückzugeben. Denken Sie daran, es falsch zu verwenden, da dies zu einer großen Gefahr führt.
Natürlich besteht die Lösung darin, so viele ds zu schreiben, wie Sie möchten. Das obige zeigt, wie man 3 Ziffern in eine Zeichenfolge erhält.
Das kleine d bedeutet hier, dass die Zahlen 0-9 verwendet werden, und das große D bedeutet, dass keine Zahlen vorhanden sind, d. h. es werden andere Inhalte als Zahlen zurückgegeben.
„w“ im regulären Ausdruck stellt die Übereinstimmung von Kleinbuchstaben a bis z und Großbuchstaben A bis Z dar, und die Zahlen 0 bis 9 umfassen die ersten drei Typen, wie oben gedruckt .
„W“ im regulären Ausdruck bedeutet, dass andere Sonderzeichen als Buchstaben und Zahlen übereinstimmen, aber hier ist bei der Verwendung von Schrägstrichen zu beachten, dass es sich bei der Zeichenfolge um ein Escape-Symbol handelt. Einzelheiten finden Sie in der Baidu-Studie.
Die Verwendung von Klammern () bedeutet hier, dass beim Abgleich der Inhalt innerhalb der Klammern übernommen wird. Hier* handelt es sich um die reguläre Greedy-Matching-Syntax. Der entscheidende Punkt besteht darin, den Greedy-Vorteil und den maximalen Bereich an Matching-Kriterien zu maximieren die Abbildung oben.
Hier wird ein Fragezeichen hinzugefügt.*? Es soll die Übereinstimmung auf den maximalen Bereich beschränken, was auch als nicht gieriger Mustervergleich bezeichnet wird. Das Ergebnis besteht darin, den Inhalt der beiden ps abzugleichen und zurückzugeben.
Das Hinzufügen von re.I (Großbuchstabe i) bedeutet hier eine Übereinstimmung unabhängig von der Groß-/Kleinschreibung von männlich oder weiblich, andernfalls wird die obige Übereinstimmung angezeigt, wenn später Groß- und Kleinschreibung vorhanden sind. „Nicht gefunden“ gibt Ihnen eine leere Liste zurück.
Was hier passiert, ist n, allgemein bekannt als das Zeilenumbruchzeichen. Sobald die Zeile umbricht, erkennt das Programm es nicht mehr, also haben wir re.S (Großbuchstaben) hinzugefügt. um das Verhältnis darzustellen. Nachdem Sie die oben genannte Syntax und Verwendung kennengelernt haben, können Sie alle Zeichen einschließlich Zeilenumbrüchen abgleichen. Natürlich gibt es viele Methoden, die ich nicht verwenden werde Den Rest können Sie selbst erlernen.
2. Verwendung und Unterschied zwischen match und search:
re.match versucht, ein Muster ab der Startposition der Zeichenfolge zu finden, wenn es sich nicht um die Startposition handelt Wenn ja, gibt match() keine zurück. re.search durchsucht die gesamte Zeichenfolge und gibt den ersten erfolgreichen Treffer zurück. Es ist leicht zu verstehen, wenn man sich den Code ansieht. Wie folgt:
Drucken Sie hier das Ende direkt aus und fügen Sie .span() hinzu, um die Position der passenden Zeichenfolge zu erhalten und sie als Tupel (Startposition, Endposition) zurückzugeben ), gibt es einen Nicht geschrieben, da er null zurückgibt und der Compiler einen Fehler meldet.
Ist es auf den ersten Blick klar, stimmt die Übereinstimmung nur mit dem Anfang überein und gibt „Keine“ zurück, wenn sie nicht gefunden werden kann, weil die Rückgabe erfolgt Der Wert ist null. Der Compiler meldet einen Fehler und die Suche scannt die gesamte Zeichenfolge. Natürlich können Sie auch die obige reguläre Methode verwenden, um sie abzugleichen du kannst es üben.
3. Verwendung der Substitution
sub wird verwendet, um übereinstimmende Elemente in der Zeichenfolge zu ersetzen. Die Syntax lautet im Allgemeinen re.sub(r'Reguläre Übereinstimmungsregeln', „Ersatzzeichenfolge“, die Zeichenfolge, die abgerufen werden muss)
Dies spiegelt das Ergebnis sehr intuitiv wider. Ersetzen Sie das #-Zeichen und die folgende Zeichenfolge durch die Zeichenfolge, die Sie ändern möchten . .
4. Endgültiger Nutzen
Bevor ich den letzten Nutzen gebe, hoffe ich, dass jeder die oben genannten Verwendungszwecke und Regeln mehr üben kann Erfahrung, der letzte Vorteil besteht darin, Ihnen einige häufig verwendete E-Mail-Zuordnungsregeln wie folgt zu nennen:
Das obige ist der detaillierte Inhalt vonIllustrierte Anleitung zur Verwendung der Python-Regularisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!