Werkzeuge
Regexpal ist ein Online-Javascript-Prozessor für reguläre Ausdrücke, die Adresse lautet: http://www.regexpal.com
Das Wichtigste beim Erlernen regelmäßiger Regeln ist die praktische Anwendung:
Übereinstimmende Nummer: 707-827-7019
Zeichengruppenzuordnung
[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9] [0-9]
d entspricht einer beliebigen arabischen Ziffer
D entspricht jeder nicht-arabischen Ziffer
Entspricht jedem Zeichen
dddDdddDddddD
ddd.ddd.dddd.
Erfassungsgruppierung und Rückwärtsanwendung
Verwenden Sie Klammern (), um eine Gruppe zu erstellen, und verwenden Sie 1, um auf den erfassten Gruppeninhalt zurückzuverweisen
(d)d1 entspricht dann 707
Vollständige Matching-Nummer:
^((d{3})|^d{3}[.-]?)?d{3}[.-]?d{4}$
^ stellt die Startposition einer Zeile dar
(Gibt das Startzeichen der Capture-Gruppe
an
( steht für die linke Klammer
d{3} bedeutet, dass drei Ziffern übereinstimmen
) stellt die rechte Klammer dar
|. zeigt Auswahl an
[.-]? entspricht einem optionalen Punkt oder Bindestrich
) Erfassen Sie das Endzeichen der Gruppe
? Zeigt an, dass die Gruppierung optional ist
$ bedeutet bis zum Ende der Zeile
Grenze
Verwenden Sie das Caretzeichen ^ am Anfang einer passenden Zeile oder Zeichenfolge
Verwenden Sie das Dollarzeichen $
Quantifikator
Quantifizierer sind standardmäßig gierig
Ein gieriger Quantifizierer gleicht zuerst die gesamte Zeichenfolge ab. Beim Versuch einer Übereinstimmung wird so viel wie möglich ausgewählt, also die gesamte Eingabe. Der Quantifizierer gleicht zunächst das gesamte Zeichen ab. Wenn dies fehlschlägt, wird auf ein Zeichen zurückgegriffen und es erneut versucht. Dieser Vorgang wird als Backtracking bezeichnet.
Der Lazy-Quantifizierer sucht nach Übereinstimmungen, beginnend mit der Startposition des Ziels. Überprüft die Zeichenfolge Zeichen für Zeichen und sucht nach Übereinstimmungen. Schließlich wird versucht, die gesamte Zeichenfolge abzugleichen.
Der Possessivquantifizierer deckt das gesamte Ziel ab und versucht dann, eine Übereinstimmung zu finden, versucht es jedoch nur einmal und führt kein Zurückverfolgen durch.
Wenn Sie .* verwenden, um ein beliebiges Zeichen null oder mehrmals zu finden
Gieriger Quantifizierer
Verwenden Sie geschweifte Klammern {}, um die Anzahl der Übereinstimmungen eines Musters innerhalb eines bestimmten Bereichs zu begrenzen. Darüber hinaus sind unveränderte Quantifizierer gierige Quantifizierer.
7{1,} und 7+
7{0,} und 7*
7? und 7{0,1}
Im Grunde ist es dasselbe
7{m,n} wird m- bis n-mal übereinstimmen
Lazy Quantor
Das Hinzufügen von ? am Ende macht den Quantor träge
7?? Erste 7? entspricht null oder eins 7, nach Faulheit wird es nichts mehr geben
7*? entspricht Null 7
7+? entspricht einer 7
7{m,n}? Entspricht m 7
Über den regelmäßigen Abgleich von HTML- und XML-Tags werde ich das nächste Mal darüber schreiben