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
javascriptregulaaravaldise_instants.exec(sõne);
Näide
Kontrollime meetodi tööd:
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);
Koodi täitmise tulemus:
javascript[12]
[34]
[56]
null
Näide
Kasutame meetodit tsüklis:
javascriptlet str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Koodi täitmise tulemus:
javascript[12]
[34]
[56]
Näide
Leitud vasted saab jaotada grupideks (pocket):
javascriptlet str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Koodi täitmise tulemus:
javascript[12, 1, 2]
[34, 3, 4]
[56, 5, 6]
Näide
Omaduse lastIndex abil
saab määrata positsiooni, millest tuleks
otsingut alustada:
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);
Koodi täitmise tulemus:
javascript[34]
[56]
Näide
Modifikaatori y abil
saab fikseerida otsingu
alguspositsiooni:
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);
Koodi täitmise tulemus:
javascriptnull
[12]