Zeichenwiederholungsoperatoren

Es gibt Situationen, in denen wir angeben möchten, dass ein Zeichen eine bestimmte Anzahl von Malen wiederholt wird. Wenn wir die genaue Anzahl der Wiederholungen kennen, können wir es einfach mehrmals schreiben - /aaaa/. Aber was tun, wenn wir folgendes sagen möchten: ein oder mehrmals wiederholen?

Dafür gibt es Wiederholungsoperatoren (Quantifikatoren): Plus + (ein oder mehrmals), Stern * (null oder mehrmals) und Fragezeichen ? (null oder einmal). Diese Operatoren wirken auf das Zeichen, das vor ihnen steht.

Lassen Sie uns die Arbeit dieser Operatoren anhand von Beispielen betrachten.

Beispiel

Lassen Sie uns alle Teilzeichenketten nach dem Muster Buchstabe 'x', Buchstabe 'a' ein oder mehrmals, Buchstabe 'x' finden:

javascriptlet str = 'xx xax xaax xaaax xbx';
let res = str.replace(/xa+x/g, '!');

In der Variablen wird folgendes gespeichert:

javascript'xx ! ! ! xbx'

Beispiel

Lassen Sie uns alle Teilzeichenketten nach dem Muster Buchstabe 'x', Buchstabe 'a' null oder mehrmals, Buchstabe 'x' finden:

javascriptlet str = 'xx xax xaax xaaax xbx'
let res = str.replace(/xa*x/g, '!');

In der Variablen wird folgendes gespeichert:

javascript'! ! ! ! xbx'

Beispiel

Lassen Sie uns alle Teilzeichenketten nach dem Muster Buchstabe 'x', Buchstabe 'a' null oder einmal, Buchstabe 'x' finden:

javascriptlet str = 'xx xax xaax xbx';
let res = str.replace(/xa?x/g, '!');

In der Variablen wird folgendes gespeichert:

javascript'! ! xaax xbx'

Praktische Aufgaben

Задание 1

Gegeben sei eine Zeichenkette:

javascriptlet str = 'aa aba abba abbba abca abea';

Schreiben Sie einen regulären Ausdruck, der die Zeichenketten 'aba', 'abba', 'abbba' nach dem Muster findet: Buchstabe 'a', Buchstabe 'b' beliebig oft, Buchstabe 'a'.

Задание 2

Gegeben sei eine Zeichenkette:

javascriptlet str = 'aa aba abba abbba abca abea';

Schreiben Sie einen regulären Ausdruck, der die Zeichenketten 'aa', 'aba', 'abba', 'abbba' nach dem Muster findet: Buchstabe 'a', Buchstabe 'b' beliebig oft (einschließlich keinmal), Buchstabe 'a'.

Задание 3

Gegeben sei eine Zeichenkette:

javascriptlet str = 'aa aba abba abbba abca abea';

Schreiben Sie einen regulären Ausdruck, der die Zeichenketten 'aa', 'aba' nach dem Muster findet: Buchstabe 'a', Buchstabe 'b' einmal oder keinmal, Buchstabe 'a'.

Задание 4

Gegeben sei eine Zeichenkette:

javascriptlet str = 'aa aba abba abbba abca abea';

Schreiben Sie einen regulären Ausdruck, der die Zeichenketten 'aa', 'aba', 'abba', 'abbba' findet, ohne 'abca' und 'abea' zu erfassen.