1. Erstellen regulärer AusdrückeJavaScript bietet zwei Möglichkeiten zum Erstellen regulärer Ausdrücke:
const re1 = /ABC\-001/; const re2 = neuer RegExp('ABC\\-001'); re1; // /ABC\-001/ re2; // /ABC\-001/ Beachten Sie, dass bei Verwendung der zweiten Schreibweise aufgrund von Zeichenfolgen-Escapeproblemen die beiden \ in der Zeichenfolge tatsächlich ein \ sind. 2. Nutzungsmodus2.1 Verwenden des einfachen ModusEinfache Muster bestehen aus gefundenen direkten Übereinstimmungen. Beispielsweise stimmt das Muster /abc/ nur mit den Zeichen „abc“ überein, die gleichzeitig und in dieser Reihenfolge in einer Zeichenfolge vorkommen. Dies würde zu „Hallo, kennen Sie das ABC?“ und „Die neuesten Flugzeugdesigns sind aus Slabcraft hervorgegangen“ passen. In beiden obigen Beispielen stimmt die Teilzeichenfolge „abc“ überein. Es wird keine Übereinstimmung mit der Zeichenfolge „Grab crab“ geben, da diese keine Teilzeichenfolge „abc“ enthält. 2.2 Verwendung von SonderzeichenBeispiel: Das Muster /abc/ entspricht einem einzelnen „a“, gefolgt von null oder mehr „b“s (was null oder mehr Vorkommen des vorherigen Elements bedeutet), gefolgt von einer beliebigen Zeichenkombination von „c“. In der Zeichenfolge „s’scbbabbbbcdebc“ entspricht dieses Muster der Teilzeichenfolge „abbbbc“.
3. Anwendung3.1 Einen String teilenDie Verwendung regulärer Ausdrücke zum Aufteilen von Zeichenfolgen ist flexibler als die Verwendung fester Zeichen. Der übliche Aufteilungscode lautet: "ad c".split(" '); // ['a', 'd', '', '', 'c'] Die obige Methode kann aufeinanderfolgende Leerzeichen nicht erkennen. Verwenden Sie daher stattdessen reguläre Ausdrücke: 'ab c'.split(/\s+/); // ['a', 'b', 'c'] Unabhängig von der Anzahl der vorhandenen Leerzeichen kann die Zeichenfolge normal geteilt werden. Fügen Sie dann ',' hinzu: 'a, b, c d'.split(/[\s\,]+/); // ['a', 'b', 'c', 'd'] Fügen Sie dann hinzu: 'a,b;; c d'.split(/[\s\,\;]+/); // ['a', 'b', 'c', 'd'] Daher können reguläre Ausdrücke verwendet werden, um unregelmäßige Eingaben in korrekte Arrays umzuwandeln. 3.2 GruppierungNeben der Feststellung, ob eine Übereinstimmung vorliegt, können reguläre Ausdrücke auch Teilzeichenfolgen extrahieren. Die durch () dargestellten Teilzeichenfolgen sind die zu extrahierenden Gruppen. Zum Beispiel: ^(\d{4})-(\d{4,9})$ definiert jeweils zwei Gruppen, die die Vorwahl und die Ortsrufnummer direkt aus der übereinstimmenden Zeichenfolge extrahieren können: var re = /^(\d{4})-(\d{4,9})$/; // ['010-12345', '010', '12345'] re.exec('0530 12306'); // null Nach einer erfolgreichen Übereinstimmung gibt die Methode exec() ein Array zurück. Das erste Element ist die gesamte Zeichenfolge, die mit dem regulären Ausdruck übereinstimmt, und die nachfolgenden Zeichenfolgen stellen die erfolgreich übereinstimmenden Teilzeichenfolgen dar. Die Methode exec() gibt null zurück, wenn die Übereinstimmung fehlschlägt. 3.3 Greedy-MatchingBeachten Sie, dass die Suche nach regulären Ausdrücken standardmäßig „gierig“ ist, d. h., sie sucht nach Übereinstimmungen mit so vielen Zeichen wie möglich. Ordnen Sie die 0 nach der Zahl wie folgt zu: var re = /^(\d+)(0*)$/; // ['102300', '102300', ''] Da \d+ Greedy Matching verwendet, gleicht es alle folgenden Nullen direkt ab, sodass 0* nur mit der leeren Zeichenfolge übereinstimmen kann. Sie müssen \d+ so einstellen, dass es nichtgieriges Matching verwendet (das heißt, so wenig Matching wie möglich), um die folgende 0 zu finden. Durch Hinzufügen eines ? wird \d+ so eingestellt, dass es nichtgieriges Matching verwendet: var re = /^(\d+?)(0*)$/; // ['102300', '1023', '00'] 3.4 Reguläre Ausdrucksflagsg Globale Suche. i Groß-/Kleinschreibung ignorierende Suche. m Mehrzeilige Suche. y Führt eine „klebrige“ Suche aus, bei der die Übereinstimmung an der aktuellen Position in der Zielzeichenfolge beginnt. Sie können das Flag y verwenden. 3.5 test()-MethodeMit der Methode test() wird geprüft, ob eine Zeichenfolge einem Muster entspricht. Wenn die Zeichenfolge übereinstimmenden Text enthält, wird „true“ zurückgegeben, andernfalls „false“. var re = /^(\d{4})-(\d{4,9})$/; re.test('0530-12321'); // wahr re.test('0530-123ab'); // falsch re.test('0530 12321'); // falsch 4. Häufig verwendete reguläre Ausdrücke (Referenz)E-Mail-Adresse bestätigen: ^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ ID-Nummer überprüfen (15 oder 18 Ziffern): ^\d{15}|\d{}18$ Mobiltelefonnummer aus Festlandchina: 1\d{10} Festnetznummer aus Festlandchina: (\d{4}-|\d{3}-)?(\d{8}|\d{7}) Postleitzahl Festlandchina: [1-9]\d{5} IP-Adresse: ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?) Datum (Jahr-Monat-Tag): (\d{4}|\d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9])) Datum (Monat/Tag/Jahr): ((1[0-2])|(0?[1-9]))/(([12][0-9])|(3[01])|(0?[1-9]))/(\d{4}|\d{2}) Prüfnummer: ^[0-9]*$ Überprüfen Sie die n-stellige Zahl: ^\d{n}$ Überprüfen Sie, ob mindestens n Ziffern vorhanden sind: ^\d{n,}$ Überprüfen Sie die Anzahl der mn Ziffern: ^\d{m,n}$ Überprüfen Sie, ob die Zahl mit Null beginnt und ungleich Null ist: ^(0|[1-9][0-9]*)$ Überprüfen Sie, ob eine positive reelle Zahl 1-3 Dezimalstellen hat: ^[0-9]+(.[0-9]{1,3})?$ Überprüfen Sie eine positive Ganzzahl ungleich Null: ^\+?[1-9][0-9]*$ Überprüfen Sie, ob die Ganzzahl ungleich Null ist: ^\-[1-9][0-9]*$ Überprüfen Sie nicht negative Ganzzahl (positive Ganzzahl + 0) ^\d+$ Überprüfen Sie nicht positive Ganzzahl (negative Ganzzahl + 0) ^((-\d+)|(0+))$ Überprüfen Sie, ob die Länge des Zeichens 3 beträgt: ^.{3}$ Überprüfen Sie eine Zeichenfolge bestehend aus 26 englischen Buchstaben: ^[A-Za-z]+$ Überprüfen Sie eine Zeichenfolge bestehend aus 26 englischen Großbuchstaben: ^[AZ]+$ Überprüfen Sie eine Zeichenfolge bestehend aus 26 englischen Kleinbuchstaben: ^[az]+$ Überprüfen Sie eine Zeichenfolge bestehend aus Zahlen und 26 englischen Buchstaben: ^[A-Za-z0-9]+$ ZusammenfassenDieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können! Das könnte Sie auch interessieren:
|
<<: So verwenden Sie CSS-Stile und -Selektoren
>>: HTML Mehrere spezielle Trennlinieneffekte
MySQL-Server hat Problem in PHP behoben 1. Hinter...
Welche Informationen möchten Sie erhalten, wenn S...
Vorwort Derzeit löst das Front-End domänenübergre...
WeChat-Applet: Einfacher Rechner. Zu Ihrer Inform...
Prämisse In komplexen Szenarien müssen große Date...
Nachfragehintergrund Das Team muss Integrationste...
Das Popup hat nichts damit zu tun, ob Ihr aktuelle...
Inhaltsverzeichnis 1. Einleitung 2. Bereiten Sie ...
Vorwort In diesem Artikel wird hauptsächlich ein ...
MySQL-Tuning: Detaillierte Erläuterung und prakti...
Inhaltsverzeichnis Vorwort Funktionen von Vue Nat...
1. Übersicht Die Datenbank information_schema ist...
Inhaltsverzeichnis Erstellen eines Layouts CSS-St...
Zur Aufzeichnung: Es kann in Zukunft verwendet we...
Inhaltsverzeichnis Lassen Sie uns zunächst kurz P...