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] 
}
Задание 1

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.