Metoden exec
Metoden exec udfører søgning i
en streng ved hjælp af et givet regulært udtryk. Resultatet returnerer den fundne
delstreng og dens capture groups. Ved hvert
efterfølgende kald af denne metode
vil søgningen starte fra det sted,
hvor den forrige fundne delstreng
sluttede. Hvis der ikke findes noget match
- returneres null.
Syntaks
javascriptregulært_udtryk.test(streng);
Eksempel
Lad os teste metoden:
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 af kodekørslen:
javascript[12]
[34]
[56]
null
Eksempel
Lad os bruge 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 af kodekørslen:
javascript[12]
[34]
[56]
Eksempel
De fundne matches kan opdeles i capture groups:
javascriptlet str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Resultatet af kodekørslen:
javascript[12, 1, 2]
[34, 3, 4]
[56, 5, 6]
Eksempel
Ved hjælp af egenskaben lastIndex
kan man angive positionen, hvorfra søgningen skal
starte:
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 af kodekørslen:
javascript[34]
[56]
Eksempel
Ved hjælp af modifieren y
kan man fastgøre positionen
for søgestart:
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 af kodekørslen:
javascriptnull
[12]