Parantezele de grupare în expresiile regulate JavaScript
În exemplele precedente, operatorii de repetare acționau doar asupra unui singur caracter care se afla înaintea lor. Ce facem dacă vrem să-i facem să acționeze asupra mai multor caractere?
Pentru aceasta există parantezele de grupare
'(' și . Ele funcționează astfel:
dacă ceva se află în parantezele de grupare
și imediat după ')'')' se află un operator de repetare
- acesta va acționa asupra a tot ce se află în interiorul parantezelor.
Să vedem câteva exemple.
Exemplu
În următorul exemplu, șablonul de căutare arată
astfel: litera 'x', apoi șirul 'ab'
de unul sau mai multe ori, apoi litera 'x':
let str = 'xabx xababx xaabbx'
let res = str.replace(/x(ab)+x/g, '!');
Ca rezultat, în variabilă se va scrie următoarele:
'! ! xaabbx'
Probleme practice
Este dat șirul:
let str = 'ab abab abab abababab abea';
Scrieți o expresie regulată care va găsi șirurile
după șablonul: șirul 'ab' se repetă
1 sau de mai multe ori.