⊗jsSpREInr 96 of 294 menu

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.

uzplfrithu