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