Metode exec
Metode exec veic meklēšanu
virknē pēc norādītās regulārās izteiksmes. Rezultātā tiek atgriezta atrastā
apakšvirkne un tās kapteņi. Katrs
sekojošs šīs metodes izsaukums
sāks meklēšanu no vietas,
kur beidzās iepriekšējā
atrastā apakšvirkne. Ja sakritība
nav atrasta - tiek atgriezts null.
Sintakse
javascriptregulārā_izteiksme.test(virkne);
Piemērs
Pārbaudīsim metodes darbību:
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);
Koda izpildes rezultāts:
javascript[12]
[34]
[56]
null
Piemērs
Izmantosim metodi ciklā:
javascriptlet str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Koda izpildes rezultāts:
javascript[12]
[34]
[56]
Piemērs
Atrastās sakritības var izkārtot kapteiņos:
javascriptlet str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Koda izpildes rezultāts:
javascript[12, 1, 2]
[34, 3, 4]
[56, 5, 6]
Piemērs
Izmantojot īpašību lastIndex
var norādīt pozīciju, no kuras jāsāk
meklēšana:
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);
Koda izpildes rezultāts:
javascript[34]
[56]
Piemērs
Izmantojot modifikatoru y
var fiksēt meklēšanas sākuma
pozīciju:
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);
Koda izpildes rezultāts:
javascriptnull
[12]