Metod exec

Metod exec izvršava pretragu po stringu pomoću datog regularnog izraza. Rezultat je pronađeni substring i njegove grupe (capture groups). Pri tome će svaki sledeći poziv ovog metoda započeti pretragu od mesta gde se završio prethodno pronađeni substring. Ako podudaranje nije pronađeno - vraća se null.

Sintaksa

javascriptregularni_izraz.test(string);

Primer

Proverimo rad metoda:

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);

Rezultat izvršavanja koda:

javascript[12]
[34]
[56]
null

Primer

Iskoristimo metod u petlji:

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

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

Rezultat izvršavanja koda:

javascript[12]
[34]
[56] 

Primer

Pronađena podudaranja možemo raslojiti po grupama (pocketima):

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

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

Rezultat izvršavanja koda:

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

Primer

Pomoću svojstva lastIndex možemo postaviti poziciju sa koje treba započeti pretragu:

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);

Rezultat izvršavanja koda:

javascript[34]
[56]

Primer

Pomoću modifikatora y možemo fiksirati poziciju početka pretrage:

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);

Rezultat izvršavanja koda:

javascriptnull
[12]

Pogledajte takođe

  • metod test,
    koji proverava string
  • metod match,
    koji traži podudaranja u stringu
  • metod matchAll,
    koji traži sva podudaranja u stringu
  • metod replace,
    koji izvršava pretragu i zamenu
  • metod search,
    koji izvršava pretragu
  • metod split,
    koji deli string