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
regularni_izraz.test(niz);
Primer
Preverimo delovanje metode:
let 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:
[12]
[34]
[56]
null
Primer
Uporabimo metodo v zanki:
let str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Rezultat izvajanja kode:
[12]
[34]
[56]
Primer
Najdene ujematve lahko razporedimo po zajetih delih (capture groups):
let str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Rezultat izvajanja kode:
[12, 1, 2]
[34, 3, 4]
[56, 5, 6]
Primer
Z lastnostjo lastIndex
lahko nastavimo položaj, s katerega naj se
začne iskanje:
let 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:
[34]
[56]
Primer
Z modifikatorjem y
lahko fiksiramo položaj
začetka iskanja:
let 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:
null
[12]