JavaScript এর RegExp এ Unicode Matching ব্যবহৃত হয় বিশেষ চরিত্রগুলোর (যেমন অন্যান্য ভাষার অক্ষর, সিম্বল ইত্যাদি) সাথে ম্যাচ করার জন্য। \u সিনট্যাক্স ব্যবহার করে আপনি Unicode Escape Sequences ব্যবহার করতে পারেন, যা আপনি সাধারণত বিভিন্ন Unicode অক্ষর বা সিম্বলকে RegExp প্যাটার্নে অন্তর্ভুক্ত করার জন্য ব্যবহার করবেন। এটি বিশেষত অন্যান্য ভাষার ক্যারেক্টার বা অক্ষর সংগ্রহে গুরুত্বপূর্ণ, যেমন চীনা, আরবি, বা জাপানি।
\u Escape Sequence
\u এর মাধ্যমে আপনি Unicode Code Points এর সাথে RegExp প্যাটার্নে মিল করতে পারেন। এটি একটি নির্দিষ্ট Unicode অক্ষরকে Escape Sequence হিসেবে ইনপুটে ব্যবহার করতে সহায়তা করে।
সিনট্যাক্স:
\u{code_point}
এখানে, {code_point} হল Unicode-এর ৪ থেকে ৬ হেক্সাডেসিমাল ডিজিটের কোড, যা একটি নির্দিষ্ট অক্ষর বা সিম্বলকে প্রতিনিধিত্ব করে।
Unicode Matching এর উদাহরণ
ধরা যাক, আপনি একটি প্যাটার্ন তৈরি করতে চান যা শুধুমাত্র এ অক্ষরের সাথে মেলে, আপনি Unicode Escape Sequence ব্যবহার করতে পারেন:
let regex = /\u0041/; // Unicode for 'A'
let str = "Apple";
console.log(regex.test(str)); // true
এখানে, \u0041 হচ্ছে 'A' এর Unicode কোড পয়েন্ট এবং regex.test(str) স্ট্রিং "Apple" এর মধ্যে 'A' খুঁজে বের করবে।
Unicode Character Range ব্যবহার করা
Unicode Escape Sequence ব্যবহার করে আপনি Character Rangesও তৈরি করতে পারেন। যেমন, আপনি যদি সমস্ত বড় ইংরেজি অক্ষরগুলির সাথে ম্যাচ করতে চান:
let regex = /[\u0041-\u005A]/; // Unicode range for A-Z
let str = "Hello World";
console.log(regex.test(str)); // true
এখানে, \u0041-\u005A এর মাধ্যমে আমরা ইংরেজি বড় অক্ষর A-Z এর Unicode রেঞ্জ ডিফাইন করেছি, যা স্ট্রিং "Hello World" এর মধ্যে পাওয়া যাবে।
Unicode এবং Special Characters Matching
Unicode প্যাটার্ন ব্যবহার করে আপনি বিশেষ সিম্বল বা অন্যান্য ভাষার অক্ষরগুলোর সাথে ম্যাচ করতে পারেন, যেমন আরবি অক্ষর:
let regex = /\u0627/; // Unicode for Arabic 'ا'
let str = "السلام عليكم";
console.log(regex.test(str)); // true
এখানে, \u0627 হচ্ছে আরবি অক্ষর 'ا' এর Unicode কোড পয়েন্ট এবং এটি "السلام عليكم" স্ট্রিংয়ের মধ্যে মেলে।
Unicode Property Escapes (ES2018 থেকে)
JavaScript ES2018 এর পর থেকে Unicode Property Escapes সুবিধা পাওয়া যায়, যার মাধ্যমে আপনি আরো জটিল Unicode প্যাটার্ন তৈরি করতে পারেন। এটি Unicode এর মধ্যে বিভিন্ন properties (যেমন, অক্ষরের শ্রেণী) অনুযায়ী matching করতে সাহায্য করে।
সিনট্যাক্স:
\p{Property=Value}
এখানে, Property হল Unicode property এবং Value হল তার মান।
উদাহরণ: Unicode Property Escapes
ধরা যাক, আপনি যদি সমস্ত ইংরেজি অক্ষর (কেস-ইনডিপেনডেন্ট) এর সাথে মিলাতে চান, তবে আপনি এই সিনট্যাক্স ব্যবহার করতে পারেন:
let regex = /\p{Letter}/u; // Matches any letter (uppercase or lowercase)
let str = "Hello 123";
console.log(regex.test(str)); // true
এখানে, \p{Letter} একটি Unicode property escape যা সমস্ত অক্ষরের (letters) সাথে মেলে। u ফ্ল্যাগটি এটিকে Unicode mode এ পরিচালিত করে।
সারাংশ
Unicode Matching RegExp-এ \u Escape Sequence ব্যবহার করে আমরা বিভিন্ন ভাষার অক্ষর, সিম্বল বা বিশেষ চরিত্রের সাথে ম্যাচ করতে পারি। Unicode Code Points দিয়ে আমরা অক্ষরের সাথে মিল করতে পারি, যেমন ইংরেজি অক্ষর, আরবি অক্ষর বা অন্যান্য ভাষার চরিত্র। JavaScript-এ Unicode Property Escapes (ES2018 থেকে) আরও শক্তিশালী matching এর সুবিধা দেয়, যা অক্ষরের শ্রেণী বা বৈশিষ্ট্যের উপর ভিত্তি করে matching করে।
Read more