JavaScript regulärer Ausdruck

JavaScript regulärer Ausdruck
Viele Programmierer sind mit der Vorstellung vertraut, dass der reguläre Ausdruck ein nützliches, aber unterschätztes Konzept ist. Sie wissen jedoch nicht sehr gut, wie sie regelmäßige Ausdrücke effizient verwenden können. Regelmäßige Ausdrücke werden nicht nur in JavaScript, sondern in fast allen anderen Programmiersprachen verwendet. In diesem Artikel erfahren Sie Schritt für Schritt über reguläre Ausdrücke. Für Programmierer jeder Ebene sollte es einfach sein, die in diesem Artikel behandelten Konzepte zu verstehen.

A Regulären Ausdruck ist ein Objekt, in dem Muster angegeben sind, um mit der gewünschten Zeichenfolge übereinzustimmen.

Syntax

Die Syntax für einen regulären Ausdruck ist sehr einfach und kann wie folgt geschrieben werden:

/Muster/Flags

A Muster ist eine Zeichenfolge, in der Sie ein Muster bereitstellen, das einer anderen Zeichenfolge übereinstimmt.
Flaggen sind optionale Attribute, die unterschiedliche Zwecke dienen. Zum Beispiel steht die Flagge „G“ unter anderem für „global“.

Der Umfang der regulären Ausdrücke ist sehr breit. Wir zeigen Ihnen die grundlegenden, die für die Programmierung durch eine schrittweise Erklärung und einige Beispiele im realen Leben am meisten notwendig sind.

Es gibt viele Methoden, bei denen Sie möglicherweise regelmäßige Ausdrücke verwenden müssen, z. Wir beginnen mit einer einfachen String -Suche, ohne den regulären Ausdruck zu verwenden, und später zeigen wir Ihnen, wie Sie dieselbe Suche mit regulären Ausdrücken durchführen können.

Beispiele

Wir werden zuerst die Zeichenfolge annehmen:

Sei Str = "LinuxHint ist großartig. LinuxHint funktioniert großartig und leistet 100%."

Wir haben das gleiche Wort wiederholt “Großartig" Und "LinuxHint”Im Satz. Der Zweck dieser seltsamen Saite wird in einem Moment offensichtlich.

In Ordnung! Jetzt schreiben wir einfach die JavaScript -Suchstring -Methode, um nach dem Begriff „Arbeit“ zu suchen

str.Suche ("Arbeit");


Wie Sie sehen können, zeigt es den Index, von dem das angegebene Substring „Arbeit“ begann. Jetzt werden wir weitermachen und versuchen, dasselbe mit der Regex -Syntax zu tun.

Schritt 1: Suchen und ersetzen Sie ein Substring

Sie können nach einer passenden Zeichenfolge suchen, indem Sie einen regulären Ausdruck verwenden, indem Sie einfach das Substring zwischen den beiden Schrägstrichen im Ausdruck platzieren.

str.Suche (/Arbeit/);


Wie Sie sehen können, hat es uns auch die gleiche Ausgabe gegeben.

In Ordnung! Jetzt werden wir sehen, was wir mit dem regulären Ausdruck machen können. Lassen Sie uns versuchen, das Wort zu ersetzen “Großartig"Mit sagen:"Eindrucksvoll”Verwenden der Methode Ersatz ().

str.ersetzen ("großartig", "fantastisch");


Hier können Sie das Problem sehen: das erste Ereignis von “GroßartigWurde ersetzt, aber der zweite hat nicht.

Im ersten Schritt haben Sie einfach gelernt, wie man mit einem regulären Ausdruck nach einer Zeichenfolge sucht. Jetzt werden wir uns auf den nächsten Schritt bewegen und etwas über das Konzept der Flaggen erfahren.

Schritt 2: Flaggen

In diesem Schritt erfahren Sie mehr über das Konzept und den Zweck von Flaggen in regulären Ausdrücken. Wir werden die Ersatzmethode von JavaScript verwenden, um diese Idee zu erklären.

Wenn Sie alle Vorkommen von “ersetzen möchten“Großartig,”Sie können den regulären Ausdruck mit dem 'verwenden'G'Flagge, die für global kurz ist.

str.ersetzen (/großartig/g, "fantastisch");


Perfekt, alle Ereignisse von „großer“ werden jetzt verändert. Sie können jedoch ein Problem haben, wenn Sie versuchen, alle Vorkommen von „LinuxHint“ zu ändern, um beispielsweise "unsere Website" mit derselben Technik.

Wir werden zuerst versuchen, das zu tun, dann werden wir sehen, wie wir dieses Problem lösen können.

str.ersetzen (/linuxHint/g, "unsere Website");


Obwohl wir das globale Flag den regulären Ausdruck zur Verfügung gestellt haben, ändert sich das erste Ereignis nicht. Dies liegt an der Fallempfindlichkeit. Daher müssen wir auch die Flagge der Fall-Insitivität bereitstellen. 'ich,' in diesem Fall. Sie können dies einfach tun, indem Sie das hinzufügen 'ich"Flagge zusammen mit dem"G' Flagge.

str.ersetzen (/linuxHint/gi, "unsere Website");


Großartig. Wie Sie sehen können, alle Vorkommen des Begriffs “LinuxHint"Wurden in den Begriff geändert"unsere Internetseite,Unabhängig von der Fallempfindlichkeit.

In ähnlicher Weise können Sie regelmäßige Ausdrücke in der Funktion von JavaScript von Split () verwenden.

str.split (/linuxHint/gi);


In Ordnung! Die Funktion funktionierte gut. Die methode split () hat das Array von Substrings zurückgegeben, basierend auf dem Term "LinuxHint". Wenn Sie jedoch auch die Separatoren in das Array des Substrings aufnehmen möchten, müssen Sie mit den Mustern spielen.

In diesem Schritt haben wir also etwas über die Flaggen gelernt und wie sie uns helfen. Es sind mehr Flags verfügbar. Zum Beispiel ist „M“ für Multiline -Matching, „S“ für dot alle usw. ist. Jetzt werden wir uns mit dem Konzept der Muster fortsetzen und lernen, wie man diese Elemente verwendet.

Schritt 3: Muster

In diesem Schritt lernen Sie, wie Sie die Muster und verwandten Optionen nutzen können.
Fügen Sie einfach Klammern um das Muster um, um die Abschlüsse in das Array des Substring einzubeziehen, wie im folgenden Bild zu sehen ist:

str.Split (/(LinuxHint)/gi);


Perfekt! Wie Sie sehen können, sind die Separatoren auch im Array der Substrings enthalten.

Um die Basis von zwei Separatoren aufzuteilen, können Sie mehrere Substrings in einem regulären Ausdruck mit dem oder „|“ angeben Operator.

str.Split (/LinuxHint | Great/Gi);


In Ordnung! Der Betreiber hat großartig gearbeitet, wie wir es erwarten, dass es sich spaltet.

Backslash

Nun, um sich zwischen der Basis des Raums zu teilen, „oder den Punkt“."Bedeutet, dass Sonderzeichen im regulären Ausdruck hinzugefügt werden, fügen Sie vor allen Sonderzeichen eine Backslash" \ "hinzu.

str.Split (/\ | \./gi);


Okay, so weit, so gut. Beispielsweise möchten Sie im folgenden Ausdruck die Punkte in Kommas verwandeln:

str.ersetzen(/\./G, ",");


Es funktionierte!

Backslashes werden auch für einen anderen Zweck verwendet. Um jedes Wort, jede Ziffer oder einen Platz zu durchsuchen, können Sie \ W, \ d bzw. \ s verwenden. Zum Beispiel wird der folgende Ausdruck verwendet, um Räume durch Striche zu ersetzen:

str.ersetzen (/\ s/g, "-");


Eindrucksvoll! Sie können jetzt das Potenzial in regulären Ausdrücken jetzt wirklich erkennen.

Eckige Klammern [ ]

Wenn Sie mehrere Zeichen in einer Zeichenfolge ersetzen möchten, können Sie alle in einer einzigen Quadratklammer bereitstellen und sie werden durch das angegebene Substring ersetzt. Zum Beispiel, wenn Sie drei Buchstaben in einer Zeichenfolge ersetzen möchten und nicht viel oder "|" einsetzen möchten Operatoren im regulären Ausdruck können Sie die Syntax für die Quadratklasse verwenden, in der Sie mehrere Buchstaben wie folgt angeben können:

str.ersetzen (/[nia]/g, "u");


Sie können sogar eine Reihe von Buchstaben wie folgt geben:

str.ersetzen (/[g-l]/g, "u");


Oder eine Reihe von Zahlen:

str.ersetzen (/[0-5]/g, "9");


Und wenn Sie die bereitgestellten Charaktere in den Quadratklammern ausschließen möchten, können Sie den CARET -Charakter wie folgt verwenden:

str.ersetzen (/[^g-l]/g, "t");


Dies ist praktisch, wenn Sie Daten von Benutzern erhalten und diese Daten testen und validieren, insbesondere in E -Mail-, Telefon- oder Datumsvalidierung.

Abschluss

Dieser Artikel hat gerade die Oberfläche des regulären Ausdrucks von JavaScript zerkratzt. Es deckt die Konzepte nur vom Anfänger bis zur Zwischenebene ab. Es gibt noch viel mehr zu lernen über den regulären Ausdruck, und Sie können diesen Ausdruck verwenden, um viele Dinge zu tun, an die Sie vielleicht noch nicht einmal gedacht haben. Um weiter zu lernen, zu arbeiten und mehr Erfahrungen in JavaScript zu sammeln, lesen Sie weitere Artikel zu diesem Thema unter LinuxHint.com.