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]