Grupperande parenteser i JavaScript regex
I tidigare exempel verkade repetitionsoperatorer bara på ett tecken som stod före dem. Vad ska vi göra om vi vill applicera dem på flera tecken?
För detta finns grupperande parenteser
'(' och . De fungerar så här:
om något står inom grupperande parenteser
och direkt efter ')'')' står en repetitionsoperator
- kommer den att verka på allt som står inom parenteserna.
Låt oss titta på exempel.
Exempel
I följande exempel ser sökmönstret ut
så här: bokstaven 'x', följt av strängen 'ab'
en eller flera gånger, sedan bokstaven 'x':
let str = 'xabx xababx xaabbx'
let res = str.replace(/x(ab)+x/g, '!');
Som ett resultat kommer följande att skrivas till variabeln:
'! ! xaabbx'
Praktiska uppgifter
Given en sträng:
let str = 'ab abab abab abababab abea';
Skriv ett reguljärt uttryck som hittar strängar
enligt mönstret: strängen 'ab' upprepas
1 eller fler gånger.