JavaScript এ test() একটি বিল্ট-ইন মেথড যা RegExp অবজেক্টের মাধ্যমে স্ট্রিংয়ের মধ্যে একটি প্যাটার্ন মিলছে কিনা তা পরীক্ষা করে। এটি একটি বুলিয়ান মান (true বা false) রিটার্ন করে, যা নির্দেশ করে যে প্যাটার্নটি স্ট্রিংয়ের সাথে মিলেছে কি না।
test() মেথডের সিনট্যাক্স
let regex = /pattern/;
let result = regex.test(string);
এখানে,
regexহল আপনার RegExp প্যাটার্ন,stringহল সেই স্ট্রিং যার মধ্যে আপনি প্যাটার্নটি খুঁজছেন,resultহলtrueবাfalse, যা জানায় প্যাটার্নটি স্ট্রিংয়ের মধ্যে পাওয়া গেছে কিনা।
test() মেথডের ব্যবহার
উদাহরণ ১: একটি সহজ প্যাটার্ন দিয়ে পরীক্ষা করা।
let regex = /hello/;
let str = "hello world";
console.log(regex.test(str)); // true
এখানে, hello প্যাটার্নটি স্ট্রিং "hello world"-এর মধ্যে আছে, তাই test() মেথড true রিটার্ন করবে।
উদাহরণ ২: প্যাটার্ন না মেলার ক্ষেত্রে ফলাফল।
let regex = /world/;
let str = "hello there";
console.log(regex.test(str)); // false
এখানে, world প্যাটার্নটি "hello there" স্ট্রিংয়ের মধ্যে নেই, তাই test() মেথড false রিটার্ন করবে।
ফ্ল্যাগস সহ test() ব্যবহার
RegExp প্যাটার্নে ফ্ল্যাগস (যেমন i, g, m) ব্যবহার করা সম্ভব। এগুলি প্যাটার্নটির আচরণ কাস্টমাইজ করতে সাহায্য করে, যেমন:
i: বড় হাতের এবং ছোট হাতের অক্ষরের পার্থক্য অবহেলা করা,g: গ্লোবাল সার্চ (স্ট্রিংয়ের সব স্থানে প্যাটার্ন খোঁজা),m: মাল্টি-লাইন সার্চ।
উদাহরণ ৩: i ফ্ল্যাগ সহ বড় এবং ছোট হাতের অক্ষরের মধ্যে পার্থক্য না করা।
let regex = /hello/i;
let str = "HELLO world";
console.log(regex.test(str)); // true
এখানে, i ফ্ল্যাগ ব্যবহার করার কারণে "HELLO" এবং "hello" উভয়ই মিলে যাবে, তাই test() মেথড true রিটার্ন করবে।
test() এবং গ্লোবাল প্যাটার্ন
যখন আপনি g ফ্ল্যাগ ব্যবহার করেন, তখন test() মেথড শুধুমাত্র প্রথম ম্যাচটি পরীক্ষা করে। গ্লোবাল সার্চের জন্য আপনাকে অন্য মেথড যেমন exec() ব্যবহার করতে হতে পারে, যেটি পরবর্তী ম্যাচগুলোও ফেরত দেয়।
উদাহরণ ৪: গ্লোবাল ফ্ল্যাগ ব্যবহার করে test() মেথড।
let regex = /hello/g;
let str = "hello there, hello again";
console.log(regex.test(str)); // true
এখানে, g ফ্ল্যাগ ব্যবহার করা সত্ত্বেও test() শুধুমাত্র প্রথম ম্যাচ (যেটি "hello" এর প্রথম উপস্থিতি) পরীক্ষা করবে এবং true রিটার্ন করবে।
সারাংশ
JavaScript এর test() মেথডটি একটি RegExp অবজেক্ট ব্যবহার করে স্ট্রিংয়ের মধ্যে প্যাটার্নের উপস্থিতি পরীক্ষা করার জন্য খুবই কার্যকর। এটি true রিটার্ন করে যদি প্যাটার্নটি স্ট্রিংয়ে থাকে, আর false রিটার্ন করে যদি প্যাটার্নটি না থাকে। test() মেথডটি সরল ও দ্রুত প্যাটার্ন ম্যাচিংয়ের জন্য ব্যবহৃত হয় এবং ফ্ল্যাগস সহ এটি আরও শক্তিশালী ও কাস্টমাইজযোগ্য হয়ে ওঠে।
Read more