Grupperende parenteser i JavaScript regex
I tidligere eksempler virket repetisjonsoperatorene kun på ett enkelt tegn som stod foran dem. Hva gjør vi hvis vi vil la dem virke på flere tegn?
For dette finnes grupperende parenteser
'(' og . De fungerer slik:
hvis noe står i grupperende parenteser
og rett etter ')'')' står en repetisjonsoperator
- vil den virke på alt som står inside parentesene.
La oss se på eksempler.
Eksempel
I det følgende eksemplet ser søkemønsteret
slik ut: bokstaven 'x', deretter strengen 'ab'
en eller flere ganger, så bokstaven 'x':
let str = 'xabx xababx xaabbx'
let res = str.replace(/x(ab)+x/g, '!');
Som et resultat vil følgende bli skrevet til variabelen:
'! ! xaabbx'
Praktiske oppgaver
Gitt en streng:
let str = 'ab abab abab abababab abea';
Skriv et regulært uttrykk som finner strenger
etter mønsteret: strengen 'ab' gjentas
1 eller flere ganger.