Методот exec

Методот exec врши пребарување по низа со даден регуларен израз. Како резултат се враќа пронајдената подниза и нејзините групи (capture groups). Притоа секој следен повик на овој метод ќе го започне пребарувањето од местото каде што заврши претходната пронајдена подниза. Доколку совпаѓањето не е пронајдено - се враќа 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] 

Пример

Пронајдените совпаѓања може да се распоредат по групи (capture groups):

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,
    кој дели низа