exec მეთოდი ჯავასკრიპტის რეგულარულ გამოსახულებებში
exec მეთოდი ახორციელებს ძიებას
სტრიქონში. შედეგად ბრუნდება ნაპოვნი
ქვესტრიქონი და მისი ჯგუფები (capture groups). ამასთან, ყოველი
შემდგომი გამოძახება ამ მეთოდის
ძიებას დაიწყებს იმ ადგილიდან,
სადაც დასრულდა წინა
ნაპოვნი ქვესტრიქონი.
მოდით შევხედოთ მაგალითს. დავუშვათ, გვაქვს შემდეგი სტრიქონი:
let str = '12 34 56';
დავუშვათ გვაქვს შემდეგი რეგულარული გამოსახულება:
let reg = /\d+/g;
მოდით, თანმიმდევრულად გამოვიძახოთ ჩვენი მეთოდი ჩვენი სტრიქონისთვის:
let res1 = reg.exec(str);
console.log(res1[0]); // 12
let res2 = reg.exec(str);
console.log(res2[0]); // 34
let res3 = reg.exec(str);
console.log(res3[0]); // 56
სამი გამოძახების შემდეგ, რადგან ჩვენ
სტრიქონში მეტი შესაბამისობა რეგულარულ გამოსახულებასთან აღარ არის,
მეთოდის შემდეგი გამოძახება დააბრუნებს
null:
let res4 = reg.exec(str);
console.log(res4); // 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]
}
მოცემულია შემდეგი სტრიქონი:
let str = '12:37:57 15:48:58 17:59:59';
იპოვეთ მასში ყველა ქვესტრიქონი დროით და ყოველი ნაპოვნისთვის დაშალეთ საათები, წუთები და წამები ჯგუფებად (capture groups).