Nawiasy grupujące w wyrażeniach regularnych JavaScript
W poprzednich przykładach operatory powtórzeń działały tylko na jeden znak, który stał przed nimi. Co zrobić, jeśli chcemy zastosować je do kilku znaków?
Do tego służą nawiasy grupujące
'(' i . Działają one tak:
jeśli coś stoi w nawiasach grupujących
i zaraz po ')'')' stoi operator powtórzenia
- zadziała on na wszystko, co znajduje się wewnątrz nawiasów.
Spójrzmy na przykładach.
Przykład
W następnym przykładzie wzorzec wyszukiwania wygląda
następująco: litera 'x', następnie ciąg 'ab'
jeden lub więcej razy, potem litera 'x':
let str = 'xabx xababx xaabbx'
let res = str.replace(/x(ab)+x/g, '!');
W rezultacie do zmiennej zostanie zapisane następujące:
'! ! xaabbx'
Zadania praktyczne
Dany jest ciąg:
let str = 'ab abab abab abababab abea';
Napisz wyrażenie regularne, które znajdzie ciągi
według wzorca: ciąg 'ab' powtarzany
1 lub więcej razy.