Meetod exec
Meetod exec teostab otsingu
stringi järgi etteantud regulaaravaldise abil. Tulemusena tagastatakse leitud
alamsõne ja selle grupid (pocket). Samas iga
järgnev selle meetodi kutsumine
alustab otsimist sellest kohast,
kus eelmine leitud alamsõne lõppes.
Kui vastet ei leita, tagastatakse null.
Süntaks
regulaaravaldise_instants.exec(sõne);
Näide
Kontrollime meetodi tööd:
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);
Koodi täitmise tulemus:
[12]
[34]
[56]
null
Näide
Kasutame meetodit tsüklis:
let str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Koodi täitmise tulemus:
[12]
[34]
[56]
Näide
Leitud vasted saab jaotada grupideks (pocket):
let str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Koodi täitmise tulemus:
[12, 1, 2]
[34, 3, 4]
[56, 5, 6]
Näide
Omaduse lastIndex abil
saab määrata positsiooni, millest tuleks
otsingut alustada:
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);
Koodi täitmise tulemus:
[34]
[56]
Näide
Modifikaatori y abil
saab fikseerida otsingu
alguspositsiooni:
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);
Koodi täitmise tulemus:
null
[12]