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:
let str = '12 34 56';
Antag, at vi har følgende regulære udtryk:
let reg = /\d+/g;
Lad os sekventielt kalde vores metode på vores streng:
let 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:
let res4 = reg.exec(str);
console.log(res4); // null
Denne egenskab ved metoden er praktisk at bruge i en løkke:
let 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:
let 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:
let 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.