1. Methoden zur Definition regelmäßiger Ausdrücke
Es gibt zwei Möglichkeiten, regelmäßige Ausdrücke zu definieren: Konstruktordefinition und regelmäßiger Ausdruck direkter Mengendefinition. Zum Beispiel:
Kopieren Sie den Code wie folgt: var reg1 = neuer Regexp ('/d {5, 11}');
var reg2 = // d {5, 12}/;
Regelmäßige Ausdrücke messen direkt Zeichen
/O: NUL -Zeichen (/u0000)
/t: tab charakter (/u0009)
/n: Newline -Zeichen (/u000a)
/v: vertikaler Registerkartenzeichen (/u000b)
/f: Seitenwechsel (/u000c)
/r: Kutschenrückgabezeichen (/u000d)
/xnn: Lateinischer Zeichen, das durch die hexadezimale Nummer nn angegeben ist, ist zum Beispiel /x0a äquivalent zu /n
/uxxxx: Unicode -Zeichen, die von der Hexadezimalnummer XXXX angegeben sind, zum Beispiel /u0009 entspricht /t
/cx: Steuerzeichen ^x, zum Beispiel, /CJ entspricht dem Zeilenumbruch /n
Regelmäßige Ausdrucks -Anker -Zeichen
^: Passen Sie den Beginn einer Zeichenfolge in multi-line-Suche an den Beginn einer Zeile überein
$: Übereinstimmung mit dem Ende einer Zeichenfolge in der multi-line
/B: Passen Sie die Grenze eines Wortes an.
/B: Passen Sie die Position der Nicht-Wort-Grenzen an
(? = P): Die Behauptung von Null-Width-Stürmer ist erforderlich, um p zu übereinstimmen, aber nicht die Zeichen, die P übereinstimmen
(?! P): Null-Breite negative Richtung behauptet zuerst und erfordert, dass die nächste Zeichenfolge nicht mit p übereinstimmt
Charakterklassen für reguläre Ausdrücke
[...]: Jeder Charakter in quadratischen Klammern
[^...]: Jeder Charakter, der nicht in quadratischen Klammern ist
.: Jedes Zeichen außer Zeilenumbrüchen und anderen Unicode -Linien -Terminatoren
/w: Jedes Wort, das aus ASCII-Zeichen besteht, entspricht [A-Za-Z0-9]
/W: Jedes Wort, das nicht aus ASCII-Zeichen besteht, entspricht [^a-za-z0-9]
/s: Jeder Unicode -Whitespace
/S: Beachten Sie, dass /w und /s nicht nicht unikde-weißespace-Zeichen sind, dass /w und /s unterschiedlich sind
/d: Jede ASCII-Zahl, entspricht [0-9]
/D: Jedes Zeichen außer ASCII-Zahl, entspricht [^0-9]
[/b]: Rücktaste direkte Menge (Sonderfall)
Wiederholen Sie die Zeichensyntax für reguläre Ausdrücke
{n, m}: Stimmen Sie den vorherigen Element mindestens n -mal, aber nicht mehr als m -mal an
{n,}: Übereinstimmung mit dem vorherigen Punkt n -mal oder mehrmals
{n}: Übereinstimmung mit dem vorherigen Punkt n mal
?: Übereinstimmen dem vorherigen Punkt 0 oder 1 Mal, dh das vorherige Element ist optional, äquivalent zu {0, 1}
+: Übereinstimmung mit dem vorherigen Punkt 1 oder mehr Male, entspricht {1,}
*: Übereinstimmung mit dem vorherigen Punkt 0 oder mehr Male, entspricht {0,}
Auswahl-, Gruppierungs- und Referenzzeichen regulärer Ausdrücke
Ation
(…): Kombination, kombinieren Sie mehrere Elemente zu einer Einheit, die durch Symbole wie "*", "+", "" und "|" geändert werden kann und sich an die Zeichen, die diese Gruppe entsprechen, für eine nachfolgende String für eine nachfolgende Striche erinnern. verwenden
(?: ...): Kombinieren Sie nur Elemente, kombinieren Sie Elemente zu einem Gerät, aber erinnern Sie sich nicht an Zeichen
/N: Übereinstimmt mit dem Charakter, der zum ersten Mal entspricht, dass die n -te Gruppe eine Subtemperatur in Klammern ist (die auch verschachtelt sein kann). Formgruppierung ist nicht codiert
Regelmäßiger Ausdrucksmodifikator
I: Führen Sie mit Fall unempfindliche Übereinstimmung durch
G: Kurz gesagt, ein globales Spiel finden Sie alle Spiele, anstatt anzuhalten, nachdem Sie das erste gefunden haben
M: Multi-Line-Matching-Muster, ^ entspricht dem Beginn einer Zeile und dem Beginn einer Zeichenfolge, $ entspricht dem Ende einer Linie und dem Ende einer Zeichenfolge
String -Methode für das Musteranpassung
Search (): Sein Argument ist ein regulärer Ausdruck, der die Ausgangsposition des ersten Substrings zurückgibt, das mit ihm übereinstimmt, und -1 gibt es zurück, wenn kein passendes Substring vorliegt. Wenn der Parameter von Search () kein regulärer Ausdruck ist, wird er zunächst über den Regexp -Konstruktor in einen regulären Ausdruck konvertiert. Search () unterstützt keine globale Suche, da er den Modifikator g ignoriert. wie:
Die Codekopie lautet wie folgt:
var s = "javaScript" .Search (/script/i);
ersetzen (): Es wird verwendet, um Abruf und Austausch durchzuführen. Empfangen Sie zwei Parameter, der erste ist der reguläre Ausdruck, und der zweite ist die zu ersetzende Zeichenfolge. Wenn der reguläre Ausdruck festgelegt ist, wird eine globale Substitution durchgeführt, sonst wird nur das passende erste Substring ersetzt. Wenn das erste Argument kein regulärer Ausdruck ist, suchen Sie direkt nach der Zeichenfolge, anstatt ihn in einen regulären Ausdruck zu konvertieren. wie:
Kopieren Sie den Code wie folgt: var s = "javaScript" .Replace (/java/gi, "Skript");
Match (): Sein Argument ist ein regulärer Ausdruck. Wenn Modifikator G festgelegt ist, wird die globale Matching durchgeführt. wie:
Kopieren Sie den Code wie folgt: var d = '55 ff 33 HH 77 tt'.match (// d+/g);
Split (): Diese Methode wird verwendet, um die Zeichenfolge zu teilen, die sie in ein Array aufruft, das aus Substrings besteht. wie:
Kopieren Sie den Code wie folgt: var d = '123,31,453,645'.split (', ');
var d = '21, 123, 44, 64, 67, 3'.split (// S*,/s*/); , "67", "3"]
2. Regexp -Objekt
Jedes Regexp -Objekt hat 5 Eigenschaften. Die Eigenschaftsquelle ist eine schreibgeschützte Zeichenfolge, die Text eines regulären Ausdrucks enthält. Die Eigenschaft Global ist ein schreibgeschützter Boolescher Wert, um anzuzeigen, ob der reguläre Ausdruck einen Modifikator G hat. Die Eigenschaft ignorecase ist ein schreibgeschützter Boolescher Wert, um anzuzeigen, ob der reguläre Ausdruck einen Modifikator i hat. Das Eigenschaftsmultiline ist ein schreibgeschützter Boolescher Wert, um anzuzeigen, ob der reguläre Ausdruck einen Modifikator m hat. Die Eigenschaft LastIndex ist eine lesbare und beschreibbare Ganzzahl.
Es gibt zwei Methoden für das Regexp -Objekt. Der Parameter exec () ist eine Zeichenfolge, und seine Funktion ähnelt mit Match (). Wenn keine Übereinstimmung gefunden wird, gibt es ein Array zurück. Ob der reguläre Ausdruck Modifikator G hat, wird das gleiche Array zurückgeben. Wenn das reguläre Ausdrucksobjekt, das exec () aufruft, über einen Modifikator G enthält, setzt er die letzte Eigenschaft des aktuellen regulären Ausdrucksobjekts in der Zeichenposition neben dem passenden Substring. Wenn derselbe reguläre Ausdruck zum zweiten Mal exec () aufruft, wird er aus der von der lastIndex -Eigenschaft angegebenen Zeichenfolge abrufen, und wenn exec () keine übereinstimmenden Ergebnisse findet, wird LastIndex auf 0 zurückgesetzt. wie:
Die Codekopie lautet wie folgt: var p = /java /g;
var text = "JavaScript macht mehr Spaß als Java!"
var r;
while ((r = p.exec (text))! = null) {
console.log (r, 'lastIndex:' + p.lastindex);
}
Eine andere Methode ist test (), die einen Parameter enthält, der eine Zeichenfolge verwendet. wie:
Die Codekopie lautet wie folgt: var p = /java /i;
P.Test ('JavaScript');