Metoden exec
Metoden exec utfører søk i en
streng ved hjelp av et gitt regulært uttrykk. Resultatet som returneres er den funnete
delstrengen og dens capture groups. Hvert
påfølgende kall til denne metoden
vil starte søket fra det stedet
der den forrige funnete delstrengen
sluttet. Hvis ingen treff blir funnet - returneres null.
Syntaks
javascriptregulært_uttrykk.test(streng);
Eksempel
La oss sjekke hvordan metoden fungerer:
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);
Resultatet av kodekjøringen:
javascript[12]
[34]
[56]
null
Eksempel
La oss bruke metoden i en løkke:
javascriptlet str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Resultatet av kodekjøringen:
javascript[12]
[34]
[56]
Eksempel
De funne match-ene kan dekomponeres i capture groups:
javascriptlet str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Resultatet av kodekjøringen:
javascript[12, 1, 2]
[34, 3, 4]
[56, 5, 6]
Eksempel
Ved hjelp av egenskapen lastIndex
kan man angi posisjonen søket skal
starte fra:
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);
Resultatet av kodekjøringen:
javascript[34]
[56]
Eksempel
Ved hjelp av modifikatoren y
kan man låse startposisjonen
for søket:
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);
Resultatet av kodekjøringen:
javascriptnull
[12]