Метод 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 метожи,
    сатрни булади