Einführung in reguläre Ausdrücke in JavaScript
Reguläre Ausdrücke sind Befehle für komplexe Suche und Ersetzung (oder einfach Suche). Sie ermöglichen sehr interessante Dinge, sind aber leider recht schwer zu erlernen.
Es gibt mehrere JavaScript-Methoden für
die Arbeit mit regulären Ausdrücken. Wir beginnen
damit, sie am Beispiel von replace
kennenzulernen - Sie sind bereits mit dieser Methode vertraut:
Sie nimmt den ersten Parameter als das, was ersetzt werden soll, und den zweiten
- als das, womit ersetzt werden soll. Und die Methode selbst wird
auf die Zeichenkette angewendet, in der die Ersetzung durchgeführt wird:
'bab'.replace('a', '!'); // gibt 'b!b' zurück
Dem ersten Parameter dieser Methode kann man
nicht nur eine Zeichenkette, sondern einen regulären Ausdruck übergeben.
Ein regulärer Ausdruck ist ein Satz von
Befehlen, die zwischen Schrägstrichen / angeordnet sind. Diese
Schrägstriche werden Begrenzer der regulären
Ausdrücke genannt.
Die regulären Ausdrücke selbst bestehen aus zwei Arten von Zeichen: aus denen, die sich selbst bezeichnen, und aus Befehlszeichen, die Sonderzeichen genannt werden.
Buchstaben und Ziffern bezeichnen sich selbst. Im folgenden
Beispiel ersetzen wir mithilfe eines regulären Ausdrucks
den Buchstaben 'a' durch !:
'bab'.replace(/a/, '!'); // gibt 'b!b' zurück
Ein Punkt hingegen ist ein Sonderzeichen
und bezeichnet ein beliebiges Zeichen. Im folgenden
Beispiel suchen wir nach einer Zeichenkette nach diesem Muster:
Buchstabe 'x', dann ein beliebiges Zeichen, dann
wieder der Buchstabe 'x':
'xax eee'.replace(/x.x/, '!'); // gibt '! eee' zurück
Nach den Begrenzern können Modifikatoren
geschrieben werden - Befehle, die die allgemeinen Eigenschaften
des regulären Ausdrucks verändern. Zum Beispiel aktiviert der Modifikator
g den Modus der globalen Suche
und Ersetzung - ohne ihn sucht der reguläre Ausdruck nur
die erste Übereinstimmung, mit ihm - alle Übereinstimmungen.
Im folgenden Beispiel ist der Modifikator
g nicht angegeben und der reguläre Ausdruck findet nur die erste
Übereinstimmung:
'aab'.replace(/a/, '!'); // gibt '!ab' zurück
Und jetzt findet der reguläre Ausdruck alle Übereinstimmungen:
'aab'.replace(/a/g, '!'); // gibt '!!b' zurück
Gegeben sei die Zeichenkette:
let str = 'ahb acb aeb aeeb adcb axeb';
Schreiben Sie einen regulären Ausdruck, der die Zeichenketten
'ahb', 'acb', 'aeb'
nach dem Muster findet: Buchstabe 'a', ein beliebiges Zeichen,
Buchstabe 'b'.
Gegeben sei die Zeichenkette:
let str = 'aba aca aea abba adca abea';
Schreiben Sie einen regulären Ausdruck, der die Zeichenketten
'abba', 'adca', 'abea'
nach dem Muster findet: Buchstabe 'a', 2
beliebige Zeichen, Buchstabe 'a'.
Gegeben sei die Zeichenkette:
let str = 'aba aca aea abba adca abea';
Schreiben Sie einen regulären Ausdruck, der die Zeichenketten
'abba' und 'abea' findet, ohne
'adca' zu erfassen.