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]