Метод exec
Метод exec белгиланган регуляр ифода бўйича сатрда қидирувни амалга оширади. Натижа сифатида топилган
қисм сатр ва унинг карманалари қайтарилади. Бу методнинг ҳар бир кейинги чақириғи
аввалги топилган қисм сатр тугаган жойдан
бошланади. Агар мос келиш топилмаса - 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]
Мисол
Топилган мос келишларни карманаларга жойлаштириш мумкин:
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]