Regex in JavaScript | Mit Beispielen erklärt

Regex in JavaScript | Mit Beispielen erklärt
Wenn ein Entwickler zum ersten Mal regelmäßig Ausdrücke oder Regex im Auge richtet. Sie können jedoch nachsehen, reguläre Ausdrücke sind äußerst nützlich und machen Sie zu einem effektiven Programmierer. Das Regex -Konzept ist etwas kompliziert, aber in diesem Beitrag werden wir Sie durch einfache Schritte zusammen mit Beispielen führen, die Ihnen helfen, Regex in JavaScript zu beherrschen.

Was ist Regex in JavaScript??

Regex oder regulärer Ausdruck ist einfach eine Zeichenfolge, die ein Muster definiert und sehr nützlich ist, um ein Muster in einer Zeichenfolge zu finden oder eine Zeichenfolge durch ein übereinstimmtes Muster zu ersetzen. Angenommen, Sie möchten eine E -Mail -Adresse oder Telefonnummer mit einem angegebenen Muster validieren, dann ist Regex praktisch.

Regex -Syntax:

var myRegex = /abc /;

Wir schließen ein Muster im Vorwärtsstrahl ein "/" wie oben gezeigt. Wir können auch die verwenden Regexp Konstruktor, um ein Regex -Muster zu definieren:

var myregex = new Regexp ('ABC');

Nachdem wir nun wissen, was Regex ist und was seine Syntax ist.

Geben Sie das Muster mit Regex an

Um Muster mit Regex anzugeben. Metacharacter und was sie in Regex darstellen, finden Sie in der folgenden Tabelle:

Meta -Charakter Was tut es?
[] (Eckige Klammern) Was auch immer wir in den Quadratklammern schreiben, wird mit einer bestimmten Zeichenfolge abgestimmt. Zum Beispiel [ABC] entspricht dem a, b, Und C Zeichen mit einer angegebenen Zeichenfolge. Wir können zum Beispiel auch einen Bereich angeben [A-F] ist das gleiche wie [ABCDEF] oder [1-5] ist das gleiche wie [12345].
^ (Caret Symbol) Das Pflegesymbol wird verwendet, um zu überprüfen, ob ein angegebener Text oder eine bestimmte Zeichenfolge mit einem bestimmten Zeichen beginnt oder nicht e.G. ^a Übereinstimmung mit ABC jedoch ^a stimmt nicht mit mit BAC. Das Haussymbol in quadratischen Klammern wird verwendet, um die Ergänzung der angegebenen Zeichen zu nutzen. Zum Beispiel [^abc] Gibt das außer a, b oder c Jeder vorhandene Charakter wird abgestimmt.
$ (Dollarsymbol) Der $ Symbol wird verwendet, wo immer wir überprüfen möchten, ob eine Zeichenfolge mit einem bestimmten Zeichen endet oder nicht. Zum Beispiel, a $ bedeutet, dass die Zeichenfolge, mit der wir übereinstimmen, am Ende ein haben sollte, das heißt Amnesie wird mit abgestimmt a $ Allerdings wird Herz nicht.
* (Sternsymbol) Das Sternsymbol entspricht 0 oder mehr Vorkommen des angegebenen Musters oder Zeichenzeichen. Zum Beispiel, Mann bedeutet diese Suche m und ein Zeichen in einer Zeichenfolge. Somit mn wird 1 Match haben. Hauptsächlich wird keine Übereinstimmung haben, da A nicht folgt N und da ist ich zwischen.
+ (plus Symbol) Das Plus -Symbol ist wie ein Sternsymbol mit der Ausnahme, dass es 1 oder mehr Vorkommen des angegebenen Musters oder Charakters entspricht. Zum Beispiel wenn mn String wird nach dem Ausdruck gesucht ma+n Es gibt jedoch keine Übereinstimmung, wenn der Ausdruck nach dem Menschen gesucht wird, es gibt eine Übereinstimmung.
(Zahnspange) Um ein klares Verständnis von Zahnspangen zu haben, sehen wir zuerst den folgenden Code I-E 2,3 Was bedeutet. Zum Beispiel der Ausdruck a 2,3 Wenn sie mit der Zeichenfolge übereinstimmt "ABC DAT" wird jedoch keine Übereinstimmung haben, wenn der Ausdruck mit dem übereinstimmt "ABC DAAT" Es wird ein Match i-e d habenaaT.
| (Änderung) Das Veränderungs- oder vertikale Balkensymbol wird für den oder Operator verwendet. Zum Beispiel zeigt der Ausdruck A | b das an A oder B sollte in einer bestimmten Zeichenfolge vorhanden sein. Somit fgh hat keine Übereinstimmungen und ABC Hat 2 Übereinstimmungen, die sind ab.
\ (Backslash) Der Zweck von Backslash besteht darin, den Charakteren zu entkommen und allen Metacharactralen zu entkommen. In einfachen Worten, wenn Sie sich nicht sicher sind, ob ein Zeichen eine besondere Bedeutung enthält oder nicht, legen Sie einen Backslash vor dem Zeichen. Daher wird dieser Charakter beispielsweise in keiner besonderen Weise behandelt, \ $ a Der Ausdruck passt zu jedem Text oder einer Zeichenfolge, die a hat $ gefolgt von A.

Nachdem wir nun wissen, wie Sie Muster mit Regex angeben, lassen Sie uns nun einige Regex -Methoden durchlaufen, um einem Regex mit einer angegebenen Zeichenfolge zu entsprechen.

Testmuster für die Übereinstimmung

Früher haben wir diskutiert, wie wir den Regexp -Konstruktor verwenden können, um das Regexp -Objekt mit einem angegebenen Muster zu initialisieren. Dieses Regexp-Objekt gibt uns viele integrierte Methoden und einer davon ist das prüfen() Methode. Der prüfen() Die Methode ist sehr nützlich, da sie eine Zeichenfolge auf ein bestimmtes Muster im regulären Ausdruck überprüft. Der prüfen() Die Methode gibt einen booleschen Wert zurück. Wenn das angegebene Muster mit der Zeichenfolge übereinstimmt, wird True zurückgegeben, ansonsten wird Falsch zurückgegeben. Um das besser zu verstehen prüfen() Methode sehen wir ein Beispiel:

var myRegex = /Hallo /;
var output = myRegex.Test ('Hallo Welt!');
Konsole.Protokoll (Ausgabe); // WAHR

Im obigen Code haben wir zuerst ein Muster definiert, das ist Hallo und verwendete dann den integrierten Methode test () im angegebenen Muster, um zu überprüfen, ob die Zeichenfolge Hallo Welt! enthält Hallo oder nicht. Das Ergebnis ist unten angegeben:

Anstelle des Booleschen Wertes kann die String-Match auch mit einer anderen integrierten Methode zurückgegeben werden, bei der die match () -Methode ist. Der folgende Code implementiert die match () -Methode:

var mystring = "Hallo Welt!";
// Muster
var myRegex = /Hallo /;
Konsole.Protokoll (MyString.Match (myRegex)); // Hallo

Ein Array wird zurückgegeben, das die Eingangszeichenfolge für die Match () -Methode enthält, die der Index, auf dem das Match gefunden wird, sowie das Match selbst.

Wenn ein Match nicht gefunden wird Null Wird zurückgegeben:

var mystring = "Hallo Welt!";
// Muster
var myRegex = /hi /;
Konsole.Protokoll (MyString.Match (myRegex)); // Null

Musterflaggen

Wir haben gesehen, dass das Regexp -Objekt ein Muster akzeptiert; Es sollte jedoch auch beachtet werden, dass der Regexp auch einen optionalen Flag -Parameter nehmen kann. Flaggen sind nur ein wenig zusätzliches Topping, das das Suchverhalten verändert.

Die erste Flagge, über die wir diskutieren werden, ist die Ignorieren Sie die Flagge Bezeichnet von i. Standardmäßig ist das Mustersuche in Regex Fall sensibel, um Fälle zu ignorieren. Zum Beispiel:

var myregex = /Hallo /i;
Konsole.Protokoll (MyRegex.Test ("Hallo Welt!")); // WAHR

Obwohl das Muster hat Hallo Und die Zeichenfolge in der Testmethode hat das erste Buchstabenkapital, es ist immer noch ein Übereinstimmung, da wir das Ignorierflag (i) verwendet haben. Daher wird das Ergebnis wahr sein:

Um das Flag Ignorieren mit Regexp -Objekt zu verwenden, kopieren Sie den folgenden Code:

var myregex = new Regexp ('Hallo', 'I');
Konsole.Protokoll (MyRegex.Test ("Hallo Welt!")); // WAHR

Ebenso können wir die verwenden Globale Flagge Bezeichnet mit G, dessen Aufgabe es ist, alle Übereinstimmungen in der Zeichenfolge zurückzugeben. Ohne die globale Flagge wird nur das erste Spiel zurückgegeben. Der folgende Code verwendet das globale Flag:

var mystring = 'Hallo Welt! und hallo Universum!';
var myRegex = /Hallo /gi;
var Matches = [];
var Match;
Tun
Match = MyRegex.Exec (MyString);
if (Match)
Streichhölzer.Push (Match);

while (übereinstimmen != null)
Konsole.log (überein);

Zunächst haben wir MyString initialisiert, das die Zeichenfolge enthält, die zum Durchsuchen eines Musters verwendet wird, und danach haben wir ein reguläres Ausdrucksmuster erstellt, das das globale Flag enthält, und ignoriert die Flagge. Die globale Flagge sucht nach allen Übereinstimmungen, während die Ignorierflagge die Fallempfindlichkeit ignoriert. Im obigen Code wird eine andere integrierte Methode verwendet, die der Exec () ist, dessen Funktion darin besteht, ein Array zurückzugeben, das die Übereinstimmung enthält. Wenn es jedoch keine Übereinstimmung zwischen dem Muster und der String gab, wird Null zurückgegeben. Es ist zu beachten. Am Ende trösten wir das Übereinstimmungsarray, das alle Übereinstimmungen enthält:

Abschluss

Regex ist eine Zeichenfolge, die ein Muster definiert oder ein Muster in einer angegebenen Zeichenfolge findet. Wir verwenden das Regexp-Objekt oder das Vorwärtsschlag / um Regex zu definieren. Der Regexp nimmt auch ein optionales Parameter I-E-Flag, das das Suchverhalten ändert. Um Muster anzugeben. Um zu testen, ob es mit einer Zeichenfolge übereinstimmt oder nicht, verwenden wir integrierte Methoden wie test (), match () oder exec ().

In diesem Beitrag haben wir zunächst definiert, was Regex in JavaScript ist und was Regex -Syntax in JavaScript ist. Dann haben wir Ihnen gezeigt, wie Sie Muster mithilfe von Regex- und Testmustern in JavaScript angeben können. Am Ende haben wir die beiden globalen Flaggen besprochen und Flaggen ignorieren.