Heim >Backend-Entwicklung >Python-Tutorial >Reguläre Ausdrücke
Stellen Sie sich Folgendes vor: Sie versuchen, sich für eine Website anzumelden, geben Ihre E-Mail-Adresse und Ihr Passwort ein und erhalten die Meldung „Der eingegebene Benutzername oder das Passwort ist ungültig. Bitte versuchen Sie es erneut.“ "
Woher genau weiß der Computer, dass der von Ihnen eingegebene Benutzername oder das Passwort ungültig ist? Die Antwort ist ein superleistungsfähiges Tool namens regulärer Ausdruck.
Ein regulärer Ausdruck, oder kurz regex, ist ein Muster, das verwendet wird, um alle Arten von Zeichen in einem Text abzugleichen. Das Schöne an einem regulären Ausdruck ist, dass Sie ihn so gestalten können, dass er nach allem sucht, was Sie wollen.
RegEx-Muster können so einfach sein wie die Suche nach Zeichen in einem Text mit einer genauen vollständigen Übereinstimmung. Zum Beispiel das Muster:
Passwort
Würde mit dem wörtlichen Text „Passwort“ übereinstimmen. Bei diesem speziellen Muster wird die Groß-/Kleinschreibung beachtet, sodass der Text „Passwort“ nicht übereinstimmt, da das „p“ großgeschrieben wird.
Die meisten Websites erfordern Ihr Passwort, um diese Anforderungen zu erfüllen:
Wie würden wir ein Muster erstellen, das nach diesen Anforderungen sucht? Der Schlüssel liegt in Regex-Metazeichen. Metazeichen sind vordefinierte Abkürzungen, die einem Zeichentyp entsprechen.
Das Metazeichen, das wir zum Erfüllen der ersten Anforderung verwenden können, ist:
[a-z]
Die Klammern werden verwendet, um dem Computer mitzuteilen, wo der Bereich beginnt und endet. Mit a-z wird nach Kleinbuchstaben im Bereich a-z gesucht.
[A-Z]
Ähnlich wie a-z sucht A-Z nach beliebigen Großbuchstaben. Bestehen der zweiten Anforderung.
d
Dieses Metazeichen erfüllt die dritte Anforderung, es weist den Computer an, nach einer beliebigen Ziffer zu suchen und diese abzugleichen.
W
Dieses Metazeichen kann zur Übergabe des vierten Arguments verwendet werden, da es mit jedem Nicht-Wort-Zeichen übereinstimmt. Zu den Wortzeichen gehören alle Buchstaben mit oder ohne Großschreibung, beliebige Ziffern und ein Unterstrich.
{8,}
Die geschweiften Klammern sind Sonderzeichen, die den Computer anweisen, x-mal alles zu vergleichen, was davor steht. Wenn in den Klammern ein Komma enthalten ist, wird es mindestens x-mal so geändert, dass es mit dem Vorhergehenden übereinstimmt. Wenn nach dem Komma eine zweite Zahl eingefügt wird, wird das vorangehende Muster maximal y-mal wiederholt. Wenn hinter dem Komma keine Zahl steht, interpretiert der Computer sie als unendliche Zahl.
Mit Hilfe einiger zusätzlicher Metazeichen:
^ Wird verwendet, um den Anfang eines Textes anzuzeigen
$ Wird verwendet, um das Ende eines Textes anzuzeigen
() Wird zum Gruppieren von Ausdrücken verwendet
(?=) Wird zum Vorausschauen in einem Text verwendet
. Entspricht jedem Zeichen
* Entspricht dem vorherigen Token zwischen 0 und unbegrenzten Zeiten
Jetzt können wir unser Passwort-Regex-Muster zusammenstellen. Das Endergebnis wird so aussehen.
^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*W).{8,}$
An diesem Punkt haben Sie wahrscheinlich erkannt, wie mächtig reguläre Ausdrücke sein können. Dies ist nur die Spitze des Eisbergs. Sie können unter anderem zum Validieren von Eingaben, zum Abgleichen von Text sowie zum Suchen und Ersetzen von Text verwendet werden.
Wenn dieser Artikel Ihr Interesse geweckt hat, empfehle ich Ihnen, sich einige der folgenden Links anzusehen.
Um mehr über reguläre Ausdrücke zu erfahren, schauen Sie sich diese Artikel an:
Reguläre Ausdrücke
Reguläre Python-Ausdrücke – Google Education
Um mit dem Schreiben eigener regulärer Ausdrücke zu experimentieren, besuchen Sie regex101
Hintergrundbildquelle
Das obige ist der detaillierte Inhalt vonReguläre Ausdrücke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!