Heim  >  Artikel  >  Backend-Entwicklung  >  Tutorial zur grundlegenden Syntax regulärer Ausdrücke

Tutorial zur grundlegenden Syntax regulärer Ausdrücke

巴扎黑
巴扎黑Original
2017-09-21 11:46:151455Durchsuche

Der folgende Editor bietet Ihnen eine detaillierte Anwendungserklärung der grundlegenden Grammatik regulärer Ausdrücke (ein Artikel, den Sie unbedingt lesen müssen). Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor und schauen wir uns

Grundlegende Grammatik regulärer Ausdrücke

Zwei Sonderzeichen „^“ und „$“ an. . Ihre Funktion besteht darin, den Anfang bzw. das Ende einer Zeichenfolge anzuzeigen. Beispiele sind wie folgt:

"^The": stellt alle Zeichenfolgen dar, die mit "The" ("There", "The cat" usw.) beginnen;

"of despair$": stellt so eine Zeichenfolge dar, die mit „of despair“ endet; „^abc$“: eine Zeichenfolge, die mit „abc“ beginnt und endet – haha, es gibt nur „abc“ selbst; „notice“: Stellt eine beliebige Zeichenfolge dar, die „notice“ enthält.

Wenn Sie wie im letzten Beispiel keine zwei Sonderzeichen verwenden, geben Sie an, dass die gesuchte Zeichenfolge ein beliebiger Teil der gesuchten Zeichenfolge ist – Sie positionieren sie nicht oben.

Andere Symbole sind „*“, „+“ und „?“, die angeben, wie oft ein Zeichen oder eine Zeichenfolge wiederholt vorkommt. Sie bedeuten jeweils „keine oder mehr“, „einmal oder mehr“ und „keine oder einmal“. Hier ein paar Beispiele:

"ab*": Zeigt an, dass eine Zeichenfolge ein a gefolgt von null oder mehreren b enthält. ("a", "ab", "abbb",...);

"ab+": Zeigt an, dass auf eine Zeichenfolge mindestens ein b oder mehr folgt „ab?“: Gibt an, dass eine Zeichenfolge ein a gefolgt von null oder einem b hat;

„a?b+$“: Zeigt an, dass am Ende null oder ein a gefolgt von einem oder mehreren b steht die Zeichenfolge.

Sie können auch Bereiche in geschweiften Klammern verwenden, um den Wiederholungsbereich anzugeben.

"ab{2}": Zeigt an, dass eine Zeichenfolge ein a gefolgt von 2 b ("abb") hat.

"ab{2,}": Zeigt an, dass eine Zeichenfolge ein a hat a gefolgt von mindestens 2 b;

"ab{3,5}": Zeigt an, dass auf eine Zeichenfolge ein a gefolgt von 3 bis 5 b folgt.

Bitte beachten Sie, dass Sie die untere Grenze des Bereichs angeben müssen (z. B.: „{0,2}“ statt „{,2}“). Möglicherweise ist Ihnen auch aufgefallen, dass „*“, „+“ und „?“ äquivalent zu „{0,}“, „{1,}“ und „{0,1}“ sind.

Es gibt auch eine „¦“, die „oder“-Operation bedeutet:

„hi¦hello“: bedeutet, dass in einer Zeichenfolge „hi“ oder „hello“ steht;

„(b¦cd)ef“: bedeutet „bef“ oder „cdef“;

“(a¦b)*c“: bedeutet eine Zeichenfolge aus gemischten „a“ und „b“, gefolgt von durch A „c“;

‘.‘ kann jedes Zeichen ersetzen:

„a.[0-9]“: zeigt an, dass eine Zeichenfolge ein „a“ gefolgt von einem beliebigen Zeichen enthält und eine Zahl;

"^.{3}$": gibt eine Zeichenfolge mit drei beliebigen Zeichen an (Länge beträgt 3 Zeichen);

Die eckigen Klammern geben an, dass bestimmte Zeichen in a zulässig sind Erscheint an einer bestimmten Position in der Zeichenfolge:

„[ab]“: zeigt an, dass eine Zeichenfolge ein „a“ oder „b“ hat (entspricht „a¦b“); „[a-d]“: Gibt an, dass eine Zeichenfolge einen der Kleinbuchstaben „a“ bis „d“ enthält (entspricht „a¦b¦c¦d“ oder „[abcd]“); a-zA-Z]“: stellt eine Zeichenfolge dar, die mit einem Buchstaben beginnt;

„[0-9]%“: stellt eine Zahl mit einer Ziffer vor dem Prozentzeichen dar;

“, [a-zA-Z0-9]$": Gibt an, dass eine Zeichenfolge mit einem Komma endet, gefolgt von einem Buchstaben oder einer Zahl.

Sie können auch „^“ in eckigen Klammern verwenden, um anzugeben, dass unerwünschte Zeichen „^“ das erste in den eckigen Klammern sein sollten. (Beispiel: „%[^a-zA-Z]%“ bedeutet, dass Buchstaben nicht zwischen zwei Prozentzeichen stehen dürfen.)

Um es wörtlich auszudrücken, müssen Sie das Escape-Zeichen „“ vor diesen Zeichen „^.$()¦*+?{“ hinzufügen.

Bitte beachten Sie, dass innerhalb der eckigen Klammern keine Escape-Zeichen erforderlich sind.

2. Die Überprüfung regulärer Ausdrücke steuert den Eingabezeichentyp des Textfelds

1. Es können nur Zahlen und Englisch eingegeben werden :

2. Es können nur Zahlen eingegeben werden:

3. Sie können nur in voller Breite eingeben:

4. Es können nur chinesische Zeichen eingegeben werden:

3. Beliebte Anwendungsbeispiele für reguläre Ausdrücke Beschreibung

//Überprüfen Sie, ob es vollständig aus Zahlen besteht

/^[0-9]{1,20}$/

^ bedeutet, dass die Anfangszeichen den Regeln unmittelbar nach ^

$ entsprechen sollten, bedeutet, dass die Anfangszeichen den Regeln unmittelbar vor $

[ ] entsprechen sollten. Der Inhalt in ] ist der optionale Zeichensatz

[0-9] bedeutet, dass der erforderliche Zeichenbereich zwischen 0-9 liegt.

{1,20} bedeutet, dass die zulässige Länge der numerischen Zeichenfolge 1 bis 20 beträgt, d. h. die Zeichen in [ 0-9] erscheinen. Der Zeitbereich liegt zwischen 1 und 20 Mal.
/^ und $/ sollten paarweise verwendet werden, um anzugeben, dass die gesamte Zeichenfolge vollständig mit der definierten Regel übereinstimmen muss und nicht nur eine Teilzeichenfolge in der Zeichenfolge.

//Anmeldenamen überprüfen: Sie können nur 5-20 Zeichenketten eingeben, die mit Buchstaben beginnen, einschließlich Zahlen, „_“ und „.“

/^[a-zA -Z ]{1}([a-zA-Z0-9]|[._]){4,19}$/

^[a-zA-Z]{1} bedeutet die ersten Zeichenanforderungen sind Buchstaben.

([a-zA-Z0-9]|[._]){4,19} bedeutet ab der zweiten Ziffer (da sie unmittelbar auf den vorherigen Ausdruck folgt) mit einer Länge von 4. Eine Zeichenfolge von bis zu 9 Zeichen, die aus Groß- und Kleinbuchstaben, Zahlen oder dem Sonderzeichensatz [._] bestehen müssen.

//Benutzernamen überprüfen: Es können nur 1–30 Zeichenfolgen eingegeben werden, die mit Buchstaben beginnen

/^[a-zA-Z]{1,30}$/

//Bestätigungspasswort: Es können nur 6–20 Buchstaben, Zahlen und Unterstriche eingegeben werden

/^(w){6,20}$/

w: verwendet Buchstaben und Zahlen abgleichen oder Unterstreichungszeichen

//Überprüfen Sie normale Telefon- und Faxnummern: Sie können mit „+“ oder Zahlen beginnen und „-“ und „ „ enthalten

/^[+] {0 ,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/

d: Wird zum Abgleichen von Zahlen aus verwendet 0 bis 9;

„?“ legt fest, dass das führende Objekt im Zielobjekt null oder einmal vorkommen muss.

kann mit Zeichenfolgen wie: +123 -999 999 übereinstimmen. 999 999 ; 123 999 999 ; +123 999999 usw.

//URL überprüfen

/^http[s]{0,1}://.+$/ Oder /^http [s]{0,1}://.{1,n}$/ (gibt an, dass die Länge der URL-Zeichenfolge length("https://") + n ist)

/: Repräsentiert das Zeichen „/“.

Stellt die Menge aller Zeichen dar.

+ entspricht {1,}, was von 1 bis positiv unendlich ist.

4. Anwendung regulärer Ausdrücke (gemeinsame Teile)

"^d+$" //Nicht negative Ganzzahl (positive Ganzzahl). + 0)

"^[0-9]*[1-9][0-9]*$" //Positive Ganzzahl

"^((-d+)|(0 +))$" //Nicht positive Ganzzahl (negative Ganzzahl + 0)

"^-[0-9]*[1-9][0-9]*$" //Negative Ganzzahl

"^-?d+$"    //Integer

"^d+(.d+)?$"   //Nicht negative Gleitkommazahl (positive Gleitkommazahl + 0)

" ^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9] *.[0 -9]+)|([0-9]*[1-9][0-9]*))$" //Positive Gleitkommazahl

"^((-d+ (.d+)? )|(0+(.0+)?))$" //Nicht positive Gleitkommazahl (negative Gleitkommazahl + 0)

"^(-(([0 -9]+.[0- 9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+) |([0-9]* [1-9][0-9]*)))$" //Negative Gleitkommazahl

"^(-?d+)(.d+)?$" //Gleitkommazahl

"^[A-Za-z]+$" //Eine Zeichenfolge bestehend aus 26 englischen Buchstaben

"^[A-Z]+$" //Ein Zeichen bestehend aus 26 englischen Großbuchstaben String

"^[a-z]+$" // Eine Zeichenfolge bestehend aus 26 englischen Kleinbuchstaben

"^[A-Za-z0-9]+$ " // Eine Zeichenfolge bestehend aus Zahlen und 26 englischen Buchstaben

"^w+$" // Eine Zeichenfolge bestehend aus Zahlen, 26 englischen Buchstaben oder Unterstrichen

"^[w-]+ ( .[w-]+)*@[w-]+(.[w-]+)+$"    //E-Mail-Adresse

"^[a-zA-z]+://( w+ (-w+)*)(.(w+(-w+)*))*(?S*)?$"  //url

/^(d{2}|d{4})- ( (0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1 ] ))$/ // Jahr-Monat-Tag

/^((0([1-9]{1}))|(1[1|2]))/(([0- 2 ]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // Monat/Tag/Jahr

" ^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|( ( [w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Emil

"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //Telefonnummer

"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d| 25 [0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4] d |25[0-5])$" //IP-Adresse

^([0-9A-F]{2})(-[0-9A-F]{2}){5} $ //Regulärer Ausdruck der MAC-Adresse

^[-+]?d+(.d+)?$ //Regulärer Ausdruck des Werttyps

Das obige ist der detaillierte Inhalt vonTutorial zur grundlegenden Syntax regulärer Ausdrücke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn