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

Пример

Пронађена поклапања се могу распоредити по карманима:

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