Метад exec

Метад exec ажыццяўляе пошук па радку па зададзеным рэгулярным выразе. Вынікам вяртаецца знойдная падрадок і яе карманы. Пры гэтым кожны наступны выклік дадзенага метаду будзе пачынаць пошук з таго месца, у якім скончылася папярэдняя знойдная падрадок. Калі супадзенне не знойдзена - вяртаецца null.

Сінтаксіс

javascriptрэгулярны_выраз.test(радок);

Прыклад

Праверым работу метаду:

javascriptlet 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);

Вынік выканання кода:

javascript[12]
[34]
[56]
null

Прыклад

Скарыстаемся метадам у цыкле:

javascriptlet str = '12 34 56';
let reg = /\d+/g;

let res;
while (res = reg.exec(str)) {
  console.log(res);
}

Вынік выканання кода:

javascript[12]
[34]
[56] 

Прыклад

Знойдзеныя супадзенні можна разкласці па карманах:

javascriptlet str = '12 34 56';
let reg = /(\d)(\d)/g;

let res;
while (res = reg.exec(str)) {
  console.log(res);
}

Вынік выканання кода:

javascript[12, 1, 2]
[34, 3, 4]
[56, 5, 6] 

Прыклад

З дапамогай уласцівасці lastIndex можна задаць пазіцыю, з якой варта пачынаць пошук:

javascriptlet 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);

Вынік выканання кода:

javascript[34]
[56]

Прыклад

З дапамогай мадыфікатара y можна зафіксаваць пазіцыю пачатку пошуку:

javascriptlet 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);

Вынік выканання кода:

javascriptnull
[12]

Глядзіце таксама

  • метад test,
    які правярае радок
  • метад match,
    які шукае супадзенні ў радку
  • метад matchAll,
    які шукае ўсе супадзенні ў радку
  • метад replace,
    які выконвае пошук і замену
  • метад search,
    які выконвае пошук
  • метад split,
    які разбівае радок