Reguläre JavaScript -Ausdrücke
Ein regulärer Ausdruck ist eine Zeichenfolge, die ein Suchmuster bildet.
Das Suchmuster kann für Textsuch- und Textersetzungsoperationen verwendet werden.
Was ist ein regulärer Ausdruck?
Ein regulärer Ausdruck ist eine Zeichenfolge, die ein Suchmuster bildet .
Wenn Sie in einem Text nach Daten suchen, können Sie dieses Suchmuster verwenden, um zu beschreiben, wonach Sie suchen.
Ein regulärer Ausdruck kann ein einzelnes Zeichen oder ein komplizierteres Muster sein.
Reguläre Ausdrücke können verwendet werden, um alle Arten von Textsuch- und Textersetzungsoperationen durchzuführen.
Syntax
/pattern/modifiers;
Beispiel
/w3schools/i;
Beispiel erklärt:
/w3schools/i ist ein regulärer Ausdruck.
w3schools ist ein Muster (zur Verwendung in einer Suche).
i ist ein Modifikator (ändert die Suche so, dass die Groß-/Kleinschreibung nicht berücksichtigt wird).
String-Methoden verwenden
In JavaScript werden häufig reguläre Ausdrücke mit den beiden String-Methoden : search()
und verwendet replace()
.
Die search()
Methode verwendet einen Ausdruck, um nach einer Übereinstimmung zu suchen, und gibt die Position der Übereinstimmung zurück.
Die replace()
Methode gibt eine modifizierte Zeichenfolge zurück, in der das Muster ersetzt wird.
Verwenden von String search() mit einem String
Die search()
Methode durchsucht eine Zeichenfolge nach einem bestimmten Wert und gibt die Position der Übereinstimmung zurück:
Beispiel
Verwenden Sie eine Zeichenfolge, um in einer Zeichenfolge nach „W3schools“ zu suchen:
let text = "Visit W3Schools!";
let n = text.search("W3Schools");
Das Ergebnis in n ist:
6
Verwenden von String search() mit einem regulären Ausdruck
Beispiel
Verwenden Sie einen regulären Ausdruck, um eine Suche ohne Berücksichtigung der Groß-/Kleinschreibung nach „w3schools“ in einer Zeichenfolge durchzuführen:
let text = "Visit W3Schools";
let n = text.search(/w3schools/i);
Das Ergebnis in n ist:
6
Verwendung von String replace() mit einem String
Die replace()
Methode ersetzt einen angegebenen Wert durch einen anderen Wert in einer Zeichenfolge:
let text = "Visit Microsoft!";
let result = text.replace("Microsoft", "W3Schools");
Verwenden Sie String replace() mit einem regulären Ausdruck
Beispiel
Verwenden Sie einen regulären Ausdruck ohne Berücksichtigung der Groß-/Kleinschreibung, um Microsoft durch W3Schools in einer Zeichenfolge zu ersetzen:
let text = "Visit Microsoft!";
let result = text.replace(/microsoft/i, "W3Schools");
Das Ergebnis in res lautet:
Visit W3Schools!
Hast du bemerkt?
In den obigen Methoden können reguläre Ausdrucksargumente (anstelle von Zeichenfolgenargumenten) verwendet werden.
Reguläre Ausdrücke können Ihre Suche viel leistungsfähiger machen (z. B. ohne Berücksichtigung der Groß- und Kleinschreibung).
Modifikatoren für reguläre Ausdrücke
Modifikatoren können verwendet werden, um Groß- und Kleinschreibung unabhängiger globaler Suchen durchzuführen:
Modifier | Description | Try it |
---|---|---|
i | Perform case-insensitive matching | |
g | Perform a global match (find all matches rather than stopping after the first match) | |
m | Perform multiline matching |
Reguläre Ausdrucksmuster
Klammern werden verwendet, um eine Reihe von Zeichen zu finden:
Expression | Description | Try it |
---|---|---|
[abc] | Find any of the characters between the brackets | |
[0-9] | Find any of the digits between the brackets | |
(x|y) | Find any of the alternatives separated with | |
Metazeichen sind Zeichen mit besonderer Bedeutung:
Metacharacter | Description | Try it |
---|---|---|
\d | Find a digit | |
\s | Find a whitespace character | |
\b | Find a match at the beginning of a word like this: \bWORD, or at the end of a word like this: WORD\b |
|
\uxxxx | Find the Unicode character specified by the hexadecimal number xxxx |
Quantifizierer definieren Mengen:
Quantifier | Description | Try it |
---|---|---|
n+ | Matches any string that contains at least one n | |
n* | Matches any string that contains zero or more occurrences of n | |
n? | Matches any string that contains zero or one occurrences of n |
Verwenden des RegExp-Objekts
In JavaScript ist das RegExp-Objekt ein reguläres Ausdrucksobjekt mit vordefinierten Eigenschaften und Methoden.
Verwenden von test()
Die test()
Methode ist eine RegExp-Ausdrucksmethode.
Es durchsucht einen String nach einem Muster und gibt je nach Ergebnis wahr oder falsch zurück.
Das folgende Beispiel durchsucht eine Zeichenfolge nach dem Zeichen "e":
Beispiel
const pattern = /e/;
pattern.test("The best things in life are free!");
Da die Zeichenfolge ein "e" enthält, lautet die Ausgabe des obigen Codes:
true
Sie müssen den regulären Ausdruck nicht zuerst in eine Variable einfügen. Die beiden obigen Zeilen können zu einer verkürzt werden:
/e/.test("The best things in life are free!");
Verwenden von exec ()
Die exec()
Methode ist eine RegExp-Ausdrucksmethode.
Es durchsucht eine Zeichenfolge nach einem bestimmten Muster und gibt den gefundenen Text als Objekt zurück.
Wenn keine Übereinstimmung gefunden wird, wird ein leeres (null) Objekt zurückgegeben.
Das folgende Beispiel durchsucht eine Zeichenfolge nach dem Zeichen "e":
Beispiel
/e/.exec("The best things in life are free!");
Vollständige RegExp-Referenz
Eine vollständige Referenz finden Sie in unserer Complete JavaScript RegExp Reference .
Die Referenz enthält Beschreibungen und Beispiele aller RegExp-Eigenschaften und -Methoden.