Gruppierende Klammern in JavaScript Regex
In vorherigen Beispielen wirkten Wiederholungsoperatoren nur auf ein Zeichen, das vor ihnen stand. Was tun, wenn wir möchten, dass sie auf mehrere Zeichen wirken?
Dafür gibt es gruppierende Klammern
'(' und . Sie funktionieren so:
wenn etwas in gruppierenden Klammern steht
und direkt nach ')'')' ein Wiederholungsoperator
steht - wirkt er auf alles, was innerhalb der Klammern steht.
Sehen wir uns Beispiele an.
Beispiel
Im folgenden Beispiel sieht das Suchmuster
so aus: Buchstabe 'x', dann Zeichenkette 'ab'
einmal oder mehrmals, dann Buchstabe 'x':
let str = 'xabx xababx xaabbx'
let res = str.replace(/x(ab)+x/g, '!');
Als Ergebnis wird in die Variable Folgendes geschrieben:
'! ! xaabbx'
Praktische Aufgaben
Gegeben sei ein String:
let str = 'ab abab abab abababab abea';
Schreiben Sie einen regulären Ausdruck, der Strings
nach dem Muster findet: Zeichenkette 'ab' wiederholt sich
1 oder mehrmals.