RegExp এ Predefined Character Classes এমন কিছু বিশেষ চরিত্রের শ্রেণী যা সরাসরি কিছু সাধারণ প্যাটার্ন মেলাতে ব্যবহৃত হয়। এগুলো হলো পূর্বনির্ধারিত চরিত্রের গোষ্ঠী, যা আপনাকে বিভিন্ন ধরনের স্ট্রিং বা চরিত্র দ্রুত এবং সহজে মেলানোর সুবিধা প্রদান করে। এ ধরনের চরিত্র ক্লাসগুলো মূলত ছোট বা সাধারণ প্যাটার্নের জন্য ব্যবহৃত হয়।
\d
মেটাচরিত্রটি যেকোনো ডিজিট (0-9) মেলাতে ব্যবহৃত হয়। এটি শুধুমাত্র সংখ্যাগুলি ম্যাচ করবে এবং অন্য কোনো চরিত্র যেমন অক্ষর বা স্পেস মেলাবে না।
উদাহরণ:
let regex = /\d/;
let str = "123abc";
console.log(regex.test(str)); // true
এখানে, \d
স্ট্রিং "123abc"-এর মধ্যে প্রথম ডিজিট (1) কে ম্যাচ করছে।
\D
মেটাচরিত্রটি যেকোনো নন-ডিজিট (অর্থাৎ, 0-9 ছাড়া অন্যান্য ক্যারেক্টার) মেলাতে ব্যবহৃত হয়। এটি সংখ্যাগুলির বাইরে থাকা অন্য সব ধরনের ক্যারেক্টারের সাথে মিলে যাবে।
উদাহরণ:
let regex = /\D/;
let str = "123abc";
console.log(regex.test(str)); // true
এখানে, \D
স্ট্রিং "123abc"-এর মধ্যে প্রথম অ-সংখ্যা (a) কে ম্যাচ করছে।
\w
মেটাচরিত্রটি যেকোনো অক্ষর, সংখ্যা বা আন্ডারস্কোর (_) মেলাতে ব্যবহৃত হয়। এটি A-Z, a-z, 0-9 এবং _ (আন্ডারস্কোর) এর মধ্যে যেকোনো একটি ক্যারেক্টারের সাথে মিলে যাবে।
উদাহরণ:
let regex = /\w/;
let str = "Hello_123";
console.log(regex.test(str)); // true
এখানে, \w
স্ট্রিং "Hello_123"-এর মধ্যে প্রথম ওয়ার্ড ক্যারেক্টার (H) কে ম্যাচ করছে।
\W
মেটাচরিত্রটি নন-ওয়ার্ড ক্যারেক্টার (অর্থাৎ, অক্ষর, সংখ্যা বা আন্ডারস্কোর ছাড়া অন্য যেকোনো ক্যারেক্টার) মেলাতে ব্যবহৃত হয়। এটি স্পেস, পাংকচুয়েশন চিহ্ন বা অন্য কোনো বিশেষ চিহ্নের সাথে মেলে।
উদাহরণ:
let regex = /\W/;
let str = "Hello! 123";
console.log(regex.test(str)); // true
এখানে, \W
স্ট্রিং "Hello! 123"-এর মধ্যে "!" চিহ্নটি মেলাচ্ছে।
\s
মেটাচরিত্রটি যেকোনো স্পেস, ট্যাব, নিউ লাইন বা ক্যারেজ রিটার্ন মেলাতে ব্যবহৃত হয়। এটি স্ট্রিংয়ের মধ্যে যে কোনো সাদা জায়গা (whitespace) খুঁজে বের করবে।
উদাহরণ:
let regex = /\s/;
let str = "Hello world";
console.log(regex.test(str)); // true
এখানে, \s
স্ট্রিং "Hello world"-এর মধ্যে স্পেস ক্যারেক্টার (এখানে ) মেলাচ্ছে।
\S
মেটাচরিত্রটি নন-হোয়াইট স্পেস ক্যারেক্টার মেলাতে ব্যবহৃত হয়। এটি স্ট্রিংয়ের মধ্যে স্পেসের বাইরে থাকা যে কোনো ক্যারেক্টার মেলাবে।
উদাহরণ:
let regex = /\S/;
let str = " hello";
console.log(regex.test(str)); // true
এখানে, \S
স্ট্রিং " hello"-এর মধ্যে প্রথম নন-স্পেস ক্যারেক্টার (h) কে ম্যাচ করছে।
\b
মেটাচরিত্রটি শব্দের সীমানা (word boundary) নির্দেশ করতে ব্যবহৃত হয়। এটি শব্দের শুরু বা শেষের অবস্থানে ম্যাচ করবে, যেমন একক শব্দের মধ্যে স্পেস অথবা অন্য কোনো সীমানা।
উদাহরণ:
let regex = /\bworld\b/;
let str = "hello world";
console.log(regex.test(str)); // true
এখানে, \b
"world" শব্দের সীমানা নির্দেশ করছে এবং এটি স্ট্রিং "hello world"-এ মিল খুঁজে পাচ্ছে।
\B
মেটাচরিত্রটি নন-শব্দের সীমানা (non-word boundary) নির্দেশ করতে ব্যবহৃত হয়। এটি এমন অবস্থানে ম্যাচ করবে যেখানে শব্দের সীমানা নেই।
উদাহরণ:
let regex = /world\B/;
let str = "helloworld";
console.log(regex.test(str)); // true
এখানে, \B
"world" শব্দের শেষে কোনো সীমানা না থাকায় এটি স্ট্রিং "helloworld"-এ মিল খুঁজে পাচ্ছে।
RegExp এর Predefined Character Classes আপনাকে কিছু সাধারণ চরিত্রের গোষ্ঠী সহজে মেলাতে সাহায্য করে। এগুলো হলো:
\d
: ডিজিট (0-9)।\D
: নন-ডিজিট (অর্থাৎ, 0-9 ছাড়া অন্যান্য চরিত্র)।\w
: অক্ষর, সংখ্যা, বা আন্ডারস্কোর (_)\W
: নন-ওয়ার্ড ক্যারেক্টার (অক্ষর, সংখ্যা বা আন্ডারস্কোর ছাড়া)।\s
: হোয়াইট স্পেস (স্পেস, ট্যাব, নিউ লাইন ইত্যাদি)।\S
: নন-হোয়াইট স্পেস ক্যারেক্টার।\b
: শব্দের সীমানা।\B
: নন-শব্দের সীমানা।এগুলো আপনাকে প্যাটার্ন মেলানোর কাজকে আরও সহজ এবং কার্যকরী করে তোলে।
Read more