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:
let str = 'xx xax xaax xaaax xbx';
let res = str.replace(/xa+x/g, '!');
In der Variablen wird folgendes gespeichert:
'xx ! ! ! xbx'
Beispiel
Lassen Sie uns alle Teilzeichenketten nach dem Muster Buchstabe
'x', Buchstabe 'a' null oder mehrmals,
Buchstabe 'x' finden:
let str = 'xx xax xaax xaaax xbx'
let res = str.replace(/xa*x/g, '!');
In der Variablen wird folgendes gespeichert:
'! ! ! ! xbx'
Beispiel
Lassen Sie uns alle Teilzeichenketten nach dem Muster Buchstabe
'x', Buchstabe 'a' null oder einmal,
Buchstabe 'x' finden:
let str = 'xx xax xaax xbx';
let res = str.replace(/xa?x/g, '!');
In der Variablen wird folgendes gespeichert:
'! ! xaax xbx'
Praktische Aufgaben
Gegeben sei eine Zeichenkette:
let 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'.
Gegeben sei eine Zeichenkette:
let 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'.
Gegeben sei eine Zeichenkette:
let 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'.
Gegeben sei eine Zeichenkette:
let 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.