Номгузорӣ кардани кармаҳо дар Regular Expression-ҳои JavaScript

Дар ибораҳои муқаррарӣ (Regular Expression) метавон ба кармаҳо номҳо дод. Барои ин синтаксиси махсус мавҷуд аст. Ин аст: (?<name>pattern), ки дар он pattern - як ибораи муқаррарӣ аст, ва name - номи карма мебошад.

Биёед дар мисол бубинем. Фарз мекунем, ки мо сатри зеринро дорем:

javascriptlet str = '2025-10-29';

Биёед як ибораи муқаррарӣ созем, ки дар он ба кармаҳо номҳо дода шудаанд:

javascriptlet reg = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/;

Ибораи муқаррариро ба сатри мо истифода барем:

javascriptlet res = str.match(reg);

Додаҳои кармаҳо ба хосиятӣ groups-и натиҷа дар шакли объект меафтанд:

javascriptconsole.log(res.groups);

Метавонем ба ҳар як унсури объект алоҳида муроҷиат кунем:

javascriptconsole.log(res.groups.year);  // 2025
console.log(res.groups.month); // 10
console.log(res.groups.day);   // 29
Задание 1

Сатр бо вақт дода шудааст:

javascriptlet str = '12:59:59';

Соатҳо, дақиқаҳо ва сонияҳоро дар кармаҳои номгузоришудаи ҷудогона ҷойгир кунед.