Метад 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]