জাভাস্ক্রিপ্টে রেগুলার এক্সপ্রেশনে exec মেথড
exec মেথডটি স্ট্রিং-এ অনুসন্ধান করে।
এর ফলাফল হিসেবে পাওয়া যায় মিলে যাওয়া
সাবস্ট্রিং এবং এর ক্যাপচার গ্রুপগুলি। একই সাথে,
এই মেথডের প্রতিটি পরবর্তী কল
সেই স্থান থেকে অনুসন্ধান শুরু করবে
যেখানে আগে মিলে যাওয়া সাবস্ট্রিংটি
শেষ হয়েছিল।
আসুন একটি উদাহরণ দেখি। ধরুন আমাদের নিম্নলিখিত স্ট্রিংটি আছে:
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]
}
শুধু মিলই নয়, এটিকে ক্যাপচার গ্রুপে ভাগ করেও পাওয়া যায়:
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';
এতে সময় সহ সমস্ত সাবস্ট্রিং খুঁজে বের করুন এবং প্রতিটি পাওয়ার জন্য ঘন্টা, মিনিট এবং সেকেন্ড আলাদা ক্যাপচার গ্রুপে রাখুন।