Zoskupujúce zátvorky v regulárnych výrazoch JavaScript
V predchádzajúcich príkladoch operátory opakovania pôsobili iba na jeden znak, ktorý stal pred nimi. Čo robiť, ak chceme, pôsobiť nimi na niekoľko znakov?
Na to existujú zoskupujúce zátvorky
'(' a . Fungujú tak:
ak je niečo v zoskupujúcich zátvorkách
a hneď za ')'')' stojí operátor opakovania
- bude pôsobiť na všetko, čo je v zátvorkách.
Pozrime sa na príkladoch.
Príklad
V nasledujúcom príklade vyhľadávací vzor vyzerá
takto: písmeno 'x', potom reťazec 'ab'
jeden alebo viac krát, potom písmeno 'x':
let str = 'xabx xababx xaabbx'
let res = str.replace(/x(ab)+x/g, '!');
V dôsledku sa do premennej zapíše nasledovné:
'! ! xaabbx'
Praktické úlohy
Daný reťazec:
let str = 'ab abab abab abababab abea';
Napíšte regulárny výraz, ktorý nájde reťazce
podľa vzoru: reťazec 'ab' sa opakuje
1 alebo viac krát.