Metoda exec

Metoda exec realizează căutarea într-un șir de caractere folosind expresia regulată dată. Rezultatul returnat este subșirul găsit și grupurile sale de captură. În plus, fiecare apel ulterior al acestei metode va începe căutarea din poziția în care s-a terminat subșirul găsit anterior. Dacă nu se găsește nicio potrivire - se returnează null.

Sintaxa

javascriptexpresia_regulata.exec(șir);

Exemplu

Să verificăm funcționarea metodei:

javascriptlet str = '12 34 56';
let reg = /\d+/g;

let res1 = reg.exec(str);
console.log(res1);

let res2 = reg.exec(str);
console.log(res2);

let res3 = reg.exec(str);
console.log(res3);

let res4 = reg.exec(str);
console.log(res4);

Rezultatul executării codului:

javascript[12]
[34]
[56]
null

Exemplu

Să folosim metoda într-o buclă:

javascriptlet str = '12 34 56';
let reg = /\d+/g;

let res;
while (res = reg.exec(str)) {
  console.log(res);
}

Rezultatul executării codului:

javascript[12]
[34]
[56] 

Exemplu

Potrivirile găsite pot fi distribuite în grupurile de captură:

javascriptlet str = '12 34 56';
let reg = /(\d)(\d)/g;

let res;
while (res = reg.exec(str)) {
  console.log(res);
}

Rezultatul executării codului:

javascript[12, 1, 2]
[34, 3, 4]
[56, 5, 6] 

Exemplu

Folosind proprietatea lastIndex se poate seta poziția de la care trebuie să înceapă căutarea:

javascriptlet str = '12 34 56';

let reg = /\d+/g;
reg.lastIndex = 2;

let res1 = reg.exec(str)
console.log(res1);

let res2 = reg.exec(str)
console.log(res2);

Rezultatul executării codului:

javascript[34]
[56]

Exemplu

Folosind modificatorul y se poate fixa poziția de începere a căutării:

javascriptlet str = '12 34 56';

let reg = /\d+/y;
reg.lastIndex = 2;

let res1 = reg.exec(str)
console.log(res1);

let res2 = reg.exec(str)
console.log(res2);

Rezultatul executării codului:

javascriptnull
[12]

Vedeți și

  • metoda test,
    care verifică un șir de caractere
  • metoda match,
    care caută potriviri într-un șir de caractere
  • metoda matchAll,
    care caută toate potrivirile într-un șir de caractere
  • metoda replace,
    care execută căutare și înlocuire
  • metoda search,
    care execută căutare
  • metoda split,
    care împarte un șir de caractere