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
regulært_udtryk.test(streng);
Eksempel
Lad os teste metoden:
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);
Resultatet af kodekørslen:
[12]
[34]
[56]
null
Eksempel
Lad os bruge metoden i en løkke:
let str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Resultatet af kodekørslen:
[12]
[34]
[56]
Eksempel
De fundne matches kan opdeles i capture groups:
let str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Resultatet af kodekørslen:
[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:
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);
Resultatet af kodekørslen:
[34]
[56]
Eksempel
Ved hjælp af modifieren y
kan man fastgøre positionen
for søgestart:
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);
Resultatet af kodekørslen:
null
[12]