Es wird nach Text gesucht, der nur alphanumerische Zeichen und Unterstriche von 2 bis 20 Zeichen enthält.
%Vor%Splicing it up:
/
ist der Regex-Begrenzer; Sie können wählen, was Sie wollen, aber ein Schrägstrich ist der häufigste.
^
bedeutet "Anfang der Eingabe anpassen": Der folgende Ausdruck muss am Anfang stehen, damit die reguläre Zeichenfolge übereinstimmt.
[a-z\d_]
ist eine Zeichenklasse; es bedeutet "irgendeines der Zeichen zwischen den eckigen Klammern"; der Backslash in Kombination mit dem d ist eine Abkürzung für 'digits', und der Bindestrich zeigt einen inklusiven Bereich an; Daher sagt die Zeichenklasse "irgendeinen Buchstaben oder eine Ziffer oder den Unterstrich".
{2;20}
ist ein Quantifizierer, der besagt, dass der vorhergehende Ausdruck (die Zeichenklasse) 2 bis 20 mal wiederholt werden muss.
$
bedeutet "Übereinstimmung Ende der Eingabe", ähnlich wie bei ^.
Ein weiterer /
beendet die Regex selbst; Was folgt, sind Prozession Optionen, in diesem Fall i
, was "case-insensitive" bedeutet.
Es wird überprüft, ob der Benutzername aus 2 bis 20 Zeichen besteht, die Buchstaben (Groß- oder Kleinbuchstaben, dank des i
-Flags), Zahlen oder Unterstrichen sind.
Dies kann auf zwei Arten abgekürzt werden: Erstens ist das if
-Konstrukt unnötig. Zweitens können Sie \w
als Ersatz für die gleichen Zeichen verwenden, also:
Es wird auch geprüft, ob es andere Zeichen als das Alphabet, a-z und A-Z, die Ziffern 0-9 und _ enthält.
Oder Sie könnten sagen, dass es nur alphanumerische Zeichen und _ enthält.
Das könnte auch einfacher geschrieben werden - preg_match gibt einen int zurück, also gibt es keinen Grund, das 'return false, return true' Muster zu verwenden.
%Vor%Würde das Gleiche tun.
\w
bedeutet auch dasselbe wie diese Zeichen. Buchstaben, Ziffern und Unterstriche. Also noch besser wäre
Es wird nach alphanumerischen Zeichen mit einer Länge von 2 bis 20 Zeichen gesucht, die aus Buchstaben, Zahlen und _
bestehenTags und Links php regex preg-match