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