exec მეთოდი
exec მეთოდი ახორციელებს ძიებას
სტრიქონში მოცემული რეგულარული გამოსახულების მიხედვით. შედეგად ბრუნდება ნაპოვნი
ქვასტრიქონი და მისი ჯგუფები (capture groups). ამასთან, ყოველი
მომდევნო ამ მეთოდის გამოძახება
ძიებას დაიწყებს იმ ადგილიდან,
სადაც დასრულდა წინა
ნაპოვნი ქვასტრიქონი. თუ შესაბამისობა
არ მოიძებნა - ბრუნდება 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]
მაგალითი
ნაპოვნი შესაბამისობები შესაძლებელია დაიყოს ჯგუფებად (capture groups):
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]