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
regulārā_izteiksme.test(virkne);
Piemērs
Pārbaudīsim metodes darbību:
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);
Koda izpildes rezultāts:
[12]
[34]
[56]
null
Piemērs
Izmantosim metodi ciklā:
let str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Koda izpildes rezultāts:
[12]
[34]
[56]
Piemērs
Atrastās sakritības var izkārtot kapteiņos:
let str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Koda izpildes rezultāts:
[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:
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);
Koda izpildes rezultāts:
[34]
[56]
Piemērs
Izmantojot modifikatoru y
var fiksēt meklēšanas sākuma
pozīciju:
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);
Koda izpildes rezultāts:
null
[12]