Metoda exec

Metoda exec izvaja iskanje po nizu z uporabo danega regularnega izraza. Kot rezultat vrne najdeno podvrsto in njeni zajeti deli (capture groups). Vsak naslednji klic te metode bo začel iskanje od mesta, kjer se je končala prejšnja najdena podvrsta. Če ujemanje ni najdeno - vrne se null.

Sintaksa

javascriptregularni_izraz.test(niz);

Primer

Preverimo delovanje metode:

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 izvajanja kode:

javascript[12]
[34]
[56]
null

Primer

Uporabimo metodo v zanki:

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

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

Rezultat izvajanja kode:

javascript[12]
[34]
[56] 

Primer

Najdene ujematve lahko razporedimo po zajetih delih (capture groups):

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

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

Rezultat izvajanja kode:

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

Primer

Z lastnostjo lastIndex lahko nastavimo položaj, s katerega naj se začne iskanje:

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 izvajanja kode:

javascript[34]
[56]

Primer

Z modifikatorjem y lahko fiksiramo položaj začetka iskanja:

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 izvajanja kode:

javascriptnull
[12]

Glejte tudi

  • metoda test,
    ki preveri niz
  • metoda match,
    ki poišče ujemanja v nizu
  • metoda matchAll,
    ki poišče vsa ujemanja v nizu
  • metoda replace,
    ki izvede iskanje in zamenjavo
  • metoda search,
    ki izvede iskanje
  • metoda split,
    ki razdeli niz