Metoden exec i regulære udtryk i JavaScript
Metoden exec udfører en søgning i en
streng. Resultatet er den fundne
delstreng og dens grupper. Hver
efterfølgende kald af denne metode
vil starte søgningen fra det sted,
hvor den forrige fundne
delstreng sluttede.
Lad os se på et eksempel. Antag, at vi har følgende streng:
javascriptlet str = '12 34 56';
Antag, at vi har følgende regulære udtryk:
javascriptlet reg = /\d+/g;
Lad os sekventielt kalde vores metode på vores streng:
javascriptlet res1 = reg.exec(str);
console.log(res1[0]); // 12
let res2 = reg.exec(str);
console.log(res2[0]); // 34
let res3 = reg.exec(str);
console.log(res3[0]); // 56
Efter tre kald, eftersom der i vores
streng ikke er flere træf med det regulære udtryk,
vil det næste kald af metoden returnere
null:
javascriptlet res4 = reg.exec(str);
console.log(res4); // null
Denne egenskab ved metoden er praktisk at bruge i en løkke:
javascriptlet str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
}
Man kan ikke kun finde træffet, men også opdele det i grupper:
javascriptlet str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res); // [12, 1, 2], [34, 3, 4], [56, 5, 6]
}
Følgende streng er givet:
javascriptlet str = '12:37:57 15:48:58 17:59:59';
Find alle delstrenge med tidspunkt i den og for hvert fundet, opdel timer, minutter og sekunder i grupper.