JavaScript

Regulärer Javascript-Ausdruck

Regulärer Javascript-Ausdruck
Viele Programmierer kennen die Vorstellung, dass der reguläre Ausdruck ein nützliches, aber unterschätztes Konzept ist. Aber sie wissen nicht sehr gut, wie man reguläre Ausdrücke effizient verwendet. Reguläre 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 expression. Es sollte für Programmierer aller Niveaus leicht sein, die in diesem Artikel behandelten Konzepte zu verstehen.

EIN Regulären Ausdruck ist ein Objekt, in dem Muster angegeben werden, die mit der gewünschten Zeichenfolge übereinstimmen.

Syntax

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

/Muster/Flaggen

EIN Muster ist eine Zeichenfolge, in der Sie ein Muster angeben, das mit einer anderen Zeichenfolge übereinstimmt.
Flaggen sind optionale Attribute, die verschiedenen Zwecken dienen. Zum Beispiel steht das Flag „g“ unter anderem für „global“.

Der Anwendungsbereich von regulären Ausdrücken ist sehr breit. Wir zeigen Ihnen die Grundlagen, die für die Programmierung am wichtigsten sind, durch eine Schritt-für-Schritt-Erklärung und einige Beispiele aus der Praxis.

Es gibt viele Methoden, in denen Sie möglicherweise reguläre Ausdrücke verwenden müssen, zum Beispiel in den Javascript-Methoden search(), replace(), match() und split(). Wir beginnen mit einer einfachen String-Suche ohne den regulären Ausdruck und später zeigen wir Ihnen, wie Sie dieselbe Suche mit regulären Ausdrücken durchführen perform.

Beispiele

Wir nehmen zunächst die Zeichenfolge an:

let str = "Linuxhint ist großartig. linuxhint funktioniert super und funktioniert zu 100%."

Wir haben das gleiche Wort wiederholt „groß" und "linuxhint“ im Satz. Der Zweck dieser seltsamen Zeichenfolge wird in einem Moment klar werden.

In Ordung! Jetzt schreiben wir einfach die Javascript-Suchstringmethode, um nach dem Begriff „Arbeit“ zu suchen

str.search("Arbeit");


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

Schritt 1: Suchen und Ersetzen einer Teilzeichenfolge

Sie können mit einem regulären Ausdruck nach einer passenden Zeichenfolge suchen, indem Sie einfach die Teilzeichenfolge zwischen den beiden Schrägstrichen im Ausdruck platzieren placing.

str.suchen(/arbeiten/);


Wie Sie sehen können, hat es uns auch die gleiche Leistung gebracht.

In Ordung! Jetzt werden wir sehen, was wir mit dem regulären Ausdruck machen können. Versuchen wir, das Wort „groß“ mit, sagen Sie, “genial” mit der Methode replace().

str.replace("großartig", "großartig");


Hier sehen Sie das Problem: das erste Auftreten von „groß” wurde ersetzt, aber der zweite nicht.

Im ersten Schritt haben Sie einfach gelernt, wie man mit einem regulären Ausdruck nach einem String sucht. Jetzt gehen wir zum nächsten Schritt und lernen das Konzept der Flaggen kennen.

Schritt 2: Flaggen

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

Wenn Sie alle Vorkommen von „groß,” können Sie den regulären Ausdruck mit dem 'G' Flag, die Abkürzung für global.

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


Perfekt, alle Vorkommen von „groß“ sind jetzt geändert. Sie können jedoch auf ein Problem stoßen, wenn Sie versuchen, alle Vorkommen von "linuxhint" mit derselben Technik in beispielsweise "unsere Website" zu ändern.

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

str.replace(/linuxhint/g, "unsere Website");


Obwohl wir das globale Flag mit dem regulären Ausdruck versehen haben, ändert sich das erste Vorkommen nicht. Dies liegt an der Groß-/Kleinschreibung. Daher müssen wir auch das Flag für die Groß-/Kleinschreibung angeben 'ich,' in diesem Fall. Sie können dies einfach tun, indem Sie das 'ich' Flagge zusammen mit der 'G' Flagge.

str.replace(/linuxhint/gi, "unsere Website");


Groß. Wie Sie sehen, sind alle Vorkommen des Begriffs „linuxhint„wurden in den Begriff „geändert“unsere Internetseite,” unabhängig von der Groß-/Kleinschreibung.

Ebenso können Sie reguläre Ausdrücke in der split()-Funktion von Javascript verwenden.

str.split(/linuxhint/gi);


In Ordung! Die Funktion hat gut funktioniert. Die Methode split() hat das Array von Teilstrings zurückgegeben, basierend auf dem Begriff „linuxhint“. Wenn Sie jedoch auch die Trennzeichen in das Array der Teilzeichenfolge aufnehmen möchten, müssen Sie mit den Mustern spielen.

In diesem Schritt haben wir also etwas über die Flaggen erfahren und wie sie uns helfen. Es sind noch mehr Flaggen verfügbar. Zum Beispiel steht „m“ für mehrzeilige Übereinstimmung, „s“ für alle Punkte usw. Jetzt werden wir zum Konzept der Muster übergehen und lernen, wie man diese Gegenstände verwendet.

Schritt 3: Muster

In diesem Schritt erfahren Sie, wie Sie die Muster und die zugehörigen Optionen verwenden.
Um die Trennzeichen in das Array der Teilzeichenfolge aufzunehmen, fügen Sie einfach Klammern um das Muster hinzu, wie in der folgenden Abbildung zu sehen ist:

str.split(/(linuxhint)/gi);


Perfekt! Wie Sie sehen, sind die Trennzeichen auch im Array der Teilzeichenfolgen enthalten.

Um die Basis von zwei Trennzeichen zu teilen, können Sie mehrere Teilzeichenfolgen in einem regulären Ausdruck mit dem ODER „|“ angeben. Operator.

str.split(/linuxhint|great/gi);


Alles klar! Der Operator hat super funktioniert, da wir erwarten, dass er sich aufteilt.

Backslash

Nun, um zwischen der Basis des Raumes “ “ oder dem Punkt “ aufzuteilen.” bedeutet, Sonderzeichen im regulären Ausdruck hinzuzufügen, fügen Sie einen umgekehrten Schrägstrich „\“ vor Sonderzeichen hinzu.

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


So weit, so gut. Angenommen, Sie möchten die Punkte im folgenden Ausdruck in Kommas umwandeln:

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


Es funktionierte!

Backslashes werden auch für einen anderen Zweck verwendet. Um ein Wort, eine Ziffer oder ein Leerzeichen zu suchen, können Sie \w, \d bzw. \s verwenden. Um beispielsweise Leerzeichen durch Bindestriche zu ersetzen, wird der folgende Ausdruck verwendet:

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


Genial! Sie können jetzt wirklich das Potenzial von regulären Ausdrücken sehen.

Eckige Klammern [ ]

Wenn Sie mehrere Zeichen in einer Zeichenfolge ersetzen möchten, können Sie sie alle in einer einzelnen eckigen Klammer angeben, und sie werden durch die angegebene Teilzeichenfolge ersetzt. Wenn Sie beispielsweise drei Buchstaben in einer Zeichenfolge ersetzen möchten und nicht viele ODER "|" Operatoren im regulären Ausdruck können Sie die Syntax mit eckigen Klammern verwenden, in der Sie mehrere Buchstaben eingeben können, wie folgt:

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


Sie können sogar eine Reihe von Buchstaben angeben:

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


Oder eine Reihe von Zahlen:

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


Und wenn Sie die bereitgestellten Zeichen in den eckigen Klammern ausschließen möchten, können Sie das Caret-Zeichen wie folgt verwenden:

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


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

Fazit

Dieser Artikel hat gerade an der Oberfläche des regulären Javascript-Ausdrucks gekratzt. Es behandelt die Konzepte nur vom Anfänger bis zum Mittelstufe. Es gibt noch viel mehr über den regulären Ausdruck zu lernen, 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 Erfahrung mit Javascript zu sammeln, lesen Sie weitere Artikel zu diesem Thema unter linuxhint.com.

Mit WinMouse können Sie die Mauszeigerbewegung auf einem Windows-PC anpassen und verbessern improve
Wenn Sie die Standardfunktionen Ihres Mauszeigers verbessern möchten, verwenden Sie Freeware WinMouse. Es fügt weitere Funktionen hinzu, damit Sie das...
Linker Mausklick funktioniert nicht unter Windows 10
Wenn Sie eine dedizierte Maus mit Ihrem Laptop oder Desktop-Computer verwenden, aber die linker Mausklick funktioniert nicht unter Windows 10/8/7 aus ...
Cursor springt oder bewegt sich zufällig während der Eingabe in Windows 10
Wenn Sie feststellen, dass Ihr Mauszeiger während der Eingabe auf einem Windows-Laptop oder -Computer automatisch und zufällig springt oder sich von s...