1. Konstruktormethode
var reg = new RegExp ( 'd' , 'gi' ) ;
2. Literale Methode
var reg = / d / gi ;
Es gibt drei Arten von Modifikatoren: i, g, m
können gleichzeitig und in beliebiger Reihenfolge auftreten (d. h. gi
ist dasselbe wie ig
). Bitte beachten Sie die nachstehenden Anweisungen
Modifikator | veranschaulichen |
---|---|
ich | Groß-/Kleinschreibung ignorieren |
G | Globaler Abgleich, d. h. Abgleichen eines Abgleichs und anschließender Abgleich bis zum Ende |
M | Mehrzeiliger Abgleich, dh der Abgleich stoppt nicht, nachdem er bis zum Ende auf eine neue Zeile gestoßen ist |
Symbol | Wirkung |
---|---|
Als Bedeutungsänderung bedeutet dies, dass die Zeichen nach „“ normalerweise nicht entsprechend der ursprünglichen Bedeutung interpretiert werden. Beispielsweise entspricht /b/ dem Zeichen „b“, wenn vor b ein Backslash eingefügt wird /, die Bedeutung der Änderung besteht darin, eine Wortgrenze anzupassen. Oder die Wiederherstellung von regulären Ausdrucksfunktionszeichen, z. B. „ „ stimmt mit dem Metazeichen davor 0-mal überein, /a / stimmt mit a, aa, aaa überein. Nach dem Hinzufügen von „“ stimmt /a*/ nur mit „a *“ überein. | |
^ | Entspricht einer Eingabe oder dem Anfang einer Zeile, /^a/ entspricht „an A“, aber nicht „An a“ |
$ | Entspricht einer Eingabe oder dem Ende einer Zeile, /a$/ entspricht „An a“, aber nicht „an A“ |
. | Entspricht jedem einzelnen Zeichen, außer Zeilenumbrüchen und Abschlusszeichen |
* | Entspricht dem vorhergehenden Metazeichen mindestens 0 Mal, /ba*/ entspricht b,ba,baa,baaa |
+ | Entspricht mindestens einem Mal dem vorhergehenden Metazeichen, /ba+/ entspricht ba, baa, baaa |
? | Entspricht dem vorherigen Metazeichen 0 oder 1 Mal, /ba?/ entspricht b,ba |
(X) | Passen Sie x an und speichern Sie x in Variablen mit den Namen $1...$9 |
X | j |
{N} | Passt genau n-mal zusammen |
{N,} | Passen Sie n oder öfter an |
{n,m} | Match nm mal |
[xyz] | Zeichensatz (Zeichensatz), entspricht jedem Zeichen (oder Metazeichen) in diesem Satz |
[^xyz] | stimmt mit keinem Zeichen in diesem Satz überein |
[az] | Jeder Buchstabe [] kann irgendein Zeichen darstellen |
[^az] | ^ in Nicht-Buchstaben steht [] für „außer“. |
[B] | Entspricht einem Backspace-Zeichen |
B | Passen Sie eine Wortgrenze an |
B | Finden Sie eine Übereinstimmung mit einem Wort ohne Grenzen |
cX | Hier ist X ein Steuerzeichen, /cM/ entspricht Strg-M |
D | Entspricht einem alphanumerischen Zeichen, /d/ = /[0-9]/ |
D | Entspricht einem nicht alphanumerischen Zeichen, /D/ = /[^0-9]/ |
N | Entspricht einem Zeilenumbruchzeichen |
R | Entspricht einem Wagenrücklauf |
F | Formular-Feed anpassen |
S | Entspricht einem Leerzeichen, einschließlich n, r, f, t, v usw. |
S | Entspricht einem Nicht-Leerzeichen, gleich /[^nfrtv]/ |
T | einem Tabulatorzeichen entsprechen |
v | Entspricht einem Doppeltabulatorzeichen |
w | Entspricht einem Zeichen, das ein Wort bilden kann (alphanumerisch, dies ist meine freie Übersetzung, einschließlich Zahlen), einschließlich Unterstrichen, z. B. [w] passend zur 5 in „$5,98“, was [a-zA-Z0-9 entspricht ] |
W | Entspricht einem Zeichen, das kein Wort bilden kann, z. B. [W], das dem $ in „$5,98“ entspricht, was [^a-zA-Z0-9] entspricht. |
Entspricht NUL-Zeichen |
Behauptungen mit der Breite Null werden verwendet, um Dinge vor oder nach einem Inhalt zu finden (jedoch nicht einschließlich dieser Inhalte), d. h. sie werden wie b,^,$
verwendet, um eine Position anzugeben, die bestimmte Bedingungen (d. h. Behauptungen) erfüllen soll Sie werden auch Behauptungen mit der Breite Null genannt
Vorhergehende Behauptung | Wird auch als positive Lookahead-Assertion mit der Breite Null (?=表达式) was bedeutet, dass die Position vor dem Ausdruck abgeglichen wird | Beispielsweise kann [az]*(?=ing) beim Kochgesang mit „cook“ und „sing“ übereinstimmen. |
Hinweis: Die Ausführungsschritte der Lookahead-Assertion lauten wie folgt: Suchen Sie zuerst den ersten ing vom rechten Ende der zu vergleichenden Zeichenfolge (d. h. den Ausdruck in der Lookahead-Assertion) und passen Sie dann den vorherigen Ausdruck an, wenn dies nicht möglich ist übereinstimmend, fahren Sie mit der Suche nach dem zweiten ing fort und vergleichen Sie dann die Zeichenfolge vor dem zweiten ing. Wenn es übereinstimmt, dann stimmen Sie überein
Nachträgliche Behauptung | Wird auch als Post-Lookback-Assertion mit der Breite Null (?<=表达式) bezeichnet und gibt die Position nach dem passenden Ausdruck an. | Beispielsweise kann (?<=abc).* mit defg in abcdefg übereinstimmen |
Hinweis: Die späte Behauptung ist genau das Gegenteil der Look-Ahead-Behauptung. Ihre Ausführungsschritte sind wie folgt: Suchen Sie zuerst das erste ABC (d. h. den Ausdruck in der Look-Ahead-Behauptung) vom äußersten linken Ende der Zeichenfolge abgeglichen und dann mit dem folgenden Ausdruck übereinstimmt. Wenn er nicht übereinstimmt, suchen Sie weiter nach dem zweiten ABC und stimmen Sie dann mit der Zeichenfolge nach dem zweiten Abc überein. Wenn (?<=abc).*
Übereinstimmung möglich ist, wird sie abgeglichen (?<=abc).*
kann mit defgabc in abcdefgabc anstelle von abcdefg übereinstimmen
Negative Nullbreitenbehauptung | (?!表达式) entspricht auch einer Position mit der Breite Null, aber die „Behauptung“ an dieser Position nimmt den umgekehrten Wert des Ausdrucks an. Beispielsweise stellt (?!表达式) die Position vor dem Ausdruck dar , stimmt mit dieser Position überein. Wenn der Ausdruck (?<!表达式) ist, stimmt er nicht überein: Ebenso gibt es zwei Arten von negativen Nullbreiten-Behauptungen: „erste“ und „letzte“-Ausdruck (?<!表达式) |
(?<!表达式)
(?!表达式)
Verwenden Sie Klammern, um die übereinstimmende Zeichenfolge einzuschließen, und verwenden Sie dann den Ausdruck $1 im Ersatzwert, um den aktuell übereinstimmenden Wert zu erhalten. Wenn es beispielsweise mehrere Klammern gibt, können Sie $1, $2, $3 verwenden der entsprechende Wert Nach allen Ersetzungen sind dies die Daten, die wir letztendlich wollen.
Das Folgende ist beispielsweise ein regulärer Ausdruck im Suchfeld, der mit allen class
in der HTML-Struktur übereinstimmen kann
className = "([^0-9]+)"
Dann können wir ersetzen
className = { { $1 } }
Dann wird es
className = "xxx" //转化为
className = { { xxx } }
1. Methoden im Zusammenhang mit dem RegExp-Objekt
Methodenname | Nutzungsszenarien | Rückgabewert | Beispiel |
---|---|---|---|
prüfen | Bestimmen Sie, ob es übereinstimmt | wahr oder falsch | /d/.test('eno yao 2019') |
prüfen | Gibt übereinstimmende Ergebnisse zurück, ähnlich wie bei match | Array oder null | /d/.exec('eno yao 2019') |
2. Methoden im Zusammenhang mit String-Objekten
Methodenname | Nutzungsszenarien | Rückgabewert | Beispiel |
---|---|---|---|
übereinstimmen | Gibt das übereinstimmende Ergebnis zurück, das mit dem von exec zurückgegebenen Ergebnis übereinstimmt und Informationen enthält, die auf die übereinstimmende Zeichenfolge verweisen. Unter globalen Bedingungen werden alle übereinstimmenden Ergebnisse auf einmal zurückgegeben. | Array oder null | 'eno yao 2019'.match(/d/) |
ersetzen | Ersetzen Sie eine Zeichenfolge durch eine andere Zeichenfolge oder ersetzen Sie eine reguläre übereinstimmende Zeichenfolge durch eine andere Teilzeichenfolge | Array oder null | 'eno yao 2019'.replace(/d/, '2019') |
suchen | Finden Sie die Position des ersten passenden Teilstrings und geben Sie den Indexwert zurück, andernfalls geben Sie -1 zurück | Index | 'eno yao 2019'.search(/d/, '2019') |
Teilt | Teilen Sie das Array entsprechend der vereinbarten Zeichenfolge oder Zeichenfolge auf und akzeptieren Sie eine Zeichenfolge oder eine reguläre Zeichenfolge | Index | 'eno yao 2019'.search(/d/, '2019') |