exec(): প্যাটার্ন এর সম্পূর্ণ ম্যাচ খুঁজে বের করা

RegExp এর Methods - জাভাস্ক্রিপ্ট রেগএক্সপি (Javascript RegExp) - Web Development

331

JavaScript এর exec() পদ্ধতি একটি RegExp (রেগুলার এক্সপ্রেশন) মেথড, যা একটি স্ট্রিংয়ের মধ্যে নির্দিষ্ট প্যাটার্নের সম্পূর্ণ মিল খুঁজে বের করতে ব্যবহৃত হয়। এটি RegExp অবজেক্টের একটি পদ্ধতি এবং এটি ম্যাচের বিস্তারিত তথ্য প্রদান করে, যেমন প্যাটার্নটির প্রথম মিল, এর ইনডেক্স, স্ট্রিংয়ের মধ্যে প্যাটার্নের অবস্থান ইত্যাদি।


exec() পদ্ধতির সিনট্যাক্স

let result = regex.exec(string);

এখানে:

  • regex হল একটি RegExp অবজেক্ট।
  • string হল সেই স্ট্রিং যেখানে আপনি প্যাটার্নটি খুঁজছেন।
  • result হল একটি অ্যারে যা মিলের বিস্তারিত তথ্য ধারণ করবে।

exec() এর আউটপুট

যখন exec() সফলভাবে মিল পায়, তখন এটি একটি অ্যারে রিটার্ন করে, যেখানে:

  • প্রথম উপাদানটি স্ট্রিংয়ের প্রথম ম্যাচ।
  • পরবর্তী উপাদানগুলিতে গ্রুপের ম্যাচ (যদি থাকে) থাকবে।
  • অ্যারের মধ্যে index এবং input প্রপার্টি থাকবে:
    • index: প্যাটার্নের প্রথম ম্যাচের অবস্থান।
    • input: মূল স্ট্রিংটি।

যদি কোনো ম্যাচ না পাওয়া যায়, তবে এটি null রিটার্ন করে।


উদাহরণ

সাধারণ ম্যাচ

let regex = /hello/;
let str = "hello world";
let result = regex.exec(str);

console.log(result);
// আউটপুট: [ 'hello', index: 0, input: 'hello world' ]

এখানে, exec() পদ্ধতি "hello" প্যাটার্নের প্রথম ম্যাচটি খুঁজে পাচ্ছে, যার ইনডেক্স হচ্ছে 0 (স্ট্রিংয়ের শুরুতে)।


গ্রুপ ম্যাচ

RegExp-এ গ্রুপ প্যারেন্টেসিস () ব্যবহার করা হয়, যেগুলি ভিন্ন অংশে বিভক্ত করতে সহায়তা করে। exec() পদ্ধতিটি গ্রুপের মিলও রিটার্ন করে।

let regex = /(hello) (world)/;
let str = "hello world";
let result = regex.exec(str);

console.log(result);
// আউটপুট: [ 'hello world', 'hello', 'world', index: 0, input: 'hello world' ]

এখানে, hello এবং world দুটি গ্রুপ হিসেবে আলাদাভাবে পাওয়া যাচ্ছে, যেগুলি স্ট্রিংয়ে তাদের যথাক্রমে প্রথম এবং দ্বিতীয় অংশ হিসেবে মেলে।


ম্যাচ না পাওয়া গেলে

যদি exec() কোনো মিল না পায়, তবে এটি null রিটার্ন করবে।

let regex = /cat/;
let str = "dog";
let result = regex.exec(str);

console.log(result);
// আউটপুট: null

এখানে, cat প্যাটার্নটি "dog" স্ট্রিংয়ের মধ্যে পাওয়া যাচ্ছে না, তাই exec() null রিটার্ন করছে।


একাধিক মিল খুঁজে বের করা

যদি আপনি একাধিক ম্যাচ খুঁজতে চান, তবে exec() পদ্ধতি পুনরায় ব্যবহার করা যেতে পারে। এটি স্ট্রিংয়ের মধ্যে পরবর্তী মিলের অবস্থান পুনরুদ্ধার করতে সাহায্য করবে।

let regex = /\d+/g;  // g ফ্ল্যাগ ব্যবহার করে একাধিক মিল খোঁজা
let str = "The numbers are 123 and 456";
let result;

while ((result = regex.exec(str)) !== null) {
  console.log(result[0], "found at index", result.index);
}

এখানে, \d+ প্যাটার্নটি একাধিক ডিজিটের জন্য এবং g ফ্ল্যাগটি একাধিক মিল খুঁজে বের করার জন্য ব্যবহৃত হয়েছে।

আউটপুট:

123 found at index 16
456 found at index 30

সারাংশ

exec() পদ্ধতি RegExp এর একটি গুরুত্বপূর্ণ মেথড, যা স্ট্রিংয়ের মধ্যে প্যাটার্নের প্রথম পূর্ণ মিল খুঁজে বের করে এবং এটি ম্যাচের বিস্তারিত তথ্য প্রদান করে। এটি মিলের অবস্থান, গ্রুপের ম্যাচ (যদি থাকে), এবং স্ট্রিংয়ের মূল ইনপুট প্রদান করে। যখন মিল পাওয়া যায় না, তখন এটি null রিটার্ন করে। exec() পদ্ধতি একাধিক মিল খুঁজে বের করার জন্য পুনরায় ব্যবহৃত হতে পারে।

Content added By
Promotion

Are you sure to start over?

Loading...