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]

Vaata ka

  • meetod test,
    mis kontrollib sõne
  • meetod match,
    mis otsib vasted sõnes
  • meetod matchAll,
    mis otsib kõik vasted sõnes
  • meetod replace,
    mis teostab otsingu ja asendamise
  • meetod search,
    mis teostab otsingu
  • meetod split,
    mis jagab sõne