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