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]