exec մեթոդ
exec մեթոդը կատարում է որոնում տողում ըստ տրված կանոնավոր արտահայտության: Արդյունքում վերադարձվում է հայտնաբերված
ենթատողը և դրա գրպանները: Ընդ որում, ամեն
հաջորդ կանչ այս մեթոդի
կսկսի որոնումը այն տեղից,
որտեղ ավարտվել էր նախորդ
հայտնաբերված ենթատողը: Եթե համընկնում
չի գտնվել - վերադարձվում է null:
Շարահյուսություն
կանոնավոր_արտահայտություն.test(տող);
Օրինակ
Ստուգենք մեթոդի աշխատանքը:
let str = '12 34 56';
let reg = /\d+/g;
let res1 = reg.exec(str);
console.log(res1);
let res2 = reg.exec(str);
console.log(res2);
let res3 = reg.exec(str);
console.log(res3);
let res4 = reg.exec(str);
console.log(res4);
Կոդի կատարման արդյունք:
[12]
[34]
[56]
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]
Օրինակ
Օգտագործելով lastIndex
հատկությունը՝ կարելի է
նշել դիրքը, որից պետք է
սկսել որոնումը.
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res1 = reg.exec(str)
console.log(res1);
let res2 = reg.exec(str)
console.log(res2);
Կոդի կատարման արդյունք.
[34]
[56]
Օրինակ
Օգտագործելով y
մոդիֆիկատորը՝
կարելի է ամրագրել որոնման
սկզբնական դիրքը.
let str = '12 34 56';
let reg = /\d+/y;
reg.lastIndex = 2;
let res1 = reg.exec(str)
console.log(res1);
let res2 = reg.exec(str)
console.log(res2);
Կոդի կատարման արդյունք.
null
[12]