Metoda exec në shprehjet e rregullta JavaScript

Metoda exec kryen kërkim në një varg. Rezultati kthen nënvargun e gjetur dhe grupet e saj të kapura. Në të njëjtën kohë, çdo thirrje e mëvonshme e kësaj metode do të fillojë kërkimin nga vendi ku përfundoi nënvargu i mëparshëm i gjetur.

Le të shohim një shembull. Le të themi se kemi vargun e mëposhtëm:

javascriptlet str = '12 34 56';

Le të themi se kemi shprehjen e mëposhtme të rregullt:

javascriptlet reg = /\d+/g;

Le të thirrim në mënyrë sekuenciale metodën tonë për vargun tonë:

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

Pas tre thirrjeve, meqë në vargun tonë nuk ka më përputhje me shprehjen e rregullt, thirrja tjetër e metodës do të kthejë null:

javascriptlet res4 = reg.exec(str);
console.log(res4); // null

Këtë veçori të metodës është e përshtatshme ta përdorësh në një cikël:

javascriptlet str = '12 34 56';
let reg = /\d+/g;

let res;
while (res = reg.exec(str)) {
  console.log(res); // [12], [34], [56] 
}

Nuk mund të gjesh vetëm përputhjen, por edhe ta zbërthesh atë në grupe të kapura:

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

Është dhënë vargu i mëposhtëm:

javascriptlet str = '12:37:57 15:48:58 17:59:59';

Gjeni në të të gjitha nënvargjet me kohë dhe për secilën të gjetur zbërtheni orët, minutat dhe sekondat në grupe të kapura.