Exec metodas
Metodas exec atlieka paiešką
eilutėje pagal nurodytą reguliarųjį reiškinį. Rezultatas grąžinamas kaip rasta
subeilutė ir jos grupės. Tuo pačiu kiekvienas
sekantis šio metodo iškvietimas
pradės paiešką iš tos vietos,
kurioje baigėsi ankstesnė
rasta subeilutė. Jei atitikmuo
nerastas - grąžinamas null.
Sintaksė
reguliarus_reiškinys.test(eilutė);
Pavyzdys
Patikrinkime metodo veikimą:
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);
Kodo vykdymo rezultatas:
[12]
[34]
[56]
null
Pavyzdys
Naudokime metodą cikle:
let str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Kodo vykdymo rezultatas:
[12]
[34]
[56]
Pavyzdys
Rastus atitikmenis galima išskirstyti į grupes:
let str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Kodo vykdymo rezultatas:
[12, 1, 2]
[34, 3, 4]
[56, 5, 6]
Pavyzdys
Naudojant savybę lastIndex
galima nustatyti poziciją, nuo kurios reikia
pradėti paiešką:
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);
Kodo vykdymo rezultatas:
[34]
[56]
Pavyzdys
Naudojant modifikatorių y
galima užfiksuoti paieškos
pradžios poziciją:
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);
Kodo vykdymo rezultatas:
null
[12]