exec մեթոդը JavaScript-ի ռեգուլյար արտահայտություններում
exec մեթոդը կատարում է որոնում
տողի մեջ: Արդյունքում վերադարձվում է գտնված
ենթատողը և դրա խմբավորումները: Այս դեպքում յուրաքանչյուր
հաջորդ կանչ այս մեթոդի
կսկսի որոնումը այն տեղից,
որտեղ ավարտվել էր նախորդ
գտնված ենթատողը:
Դիտարկենք օրինակով: Ենթադրենք ունենք հետևյալ տողը:
let str = '12 34 56';
Ենթադրենք ունենք հետևյալ ռեգուլյար արտահայտությունը:
let reg = /\d+/g;
Եկեք հաջորդաբար կանչենք մեր մեթոդը մեր տողի համար:
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
Երեք կանչից հետո, քանի որ մեր
տողում այլևս չկան ռեգուլյար արտահայտության հետ համընկնումներ,
ապա մեթոդի հաջորդ կանչը կվերադարձնի
null:
let res4 = reg.exec(str);
console.log(res4); // null
Մեթոդի այս հատկությունը հարմար է օգտագործել ցիկլում:
let str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
}
Կարելի է գտնել ոչ միայն համընկնումը, այլև բաժանել այն խմբավորումների:
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]
}
Տրված է հետևյալ տողը:
let str = '12:37:57 15:48:58 17:59:59';
Գտեք դրանում բոլոր ժամանակով ենթատողերը և յուրաքանչյուր գտնվածի համար բաժանեք ժամերը, րոպեները և վայրկյանները խմբավորումների: