JavaScript এ Unicode Property Escapes বা \p{} হল একটি বিশেষ ফিচার যা Unicode চরিত্রের প্রোপার্টি অনুযায়ী স্ট্রিংয়ে নির্দিষ্ট চরিত্রগুলি খুঁজে বের করতে ব্যবহৃত হয়। এটি RegExp প্যাটার্নের মধ্যে ব্যবহার করা হয় এবং Unicode প্যাটার্নের ভিত্তিতে চরিত্র শনাক্ত করতে সাহায্য করে।
Unicode Property Escapes 2018 সালের পরবর্তী ECMAScript 2018 (ES9) স্ট্যান্ডার্ডে অন্তর্ভুক্ত করা হয়েছে এবং এটি RegExp-এর মাধ্যমে একটি নির্দিষ্ট Unicode প্রোপার্টির জন্য ম্যাচিং করতে ব্যবহৃত হয়।
Unicode Property Escapes এর গঠন
\p{} এবং \P{} দুটি প্রধান Unicode Property Escapes প্যাটার্নের মাধ্যমে আমরা Unicode প্রোপার্টি অনুসারে স্ট্রিংয়ের মধ্যে চরিত্র খুঁজে বের করতে পারি।
\p{PropertyName=Value}: এটি একটি Unicode প্রোপার্টির সাথে মেলে, যেখানেPropertyNameহল Unicode প্রোপার্টির নাম এবংValueহল সেই প্রোপার্টির মান।\P{PropertyName=Value}: এটি\p{}এর বিপরীত, অর্থাৎ এটি সেই প্রোপার্টি বা মানের সাথে মেলে না।
Unicode Property Escapes এর উদাহরণ
১. \p{Letter}: কোন চরিত্র যে একটি অক্ষর (Letter)
let regex = /\p{Letter}/u;
let str = "Hello World!";
console.log(regex.test(str)); // true
এখানে, \p{Letter} স্ট্রিংয়ের প্রথম অক্ষর "H" এর সাথে মিলে যায় কারণ "H" একটি অক্ষর (Letter)।
২. \p{Number}: কোন চরিত্র যে একটি সংখ্যা (Number)
let regex = /\p{Number}/u;
let str = "2024";
console.log(regex.test(str)); // true
এখানে, \p{Number} স্ট্রিং "2024" এর মধ্যে একটি সংখ্যা (digit) খুঁজে পায় এবং true রিটার্ন করে।
৩. \p{Emoji}: কোন চরিত্র যে একটি ইমোজি (Emoji)
let regex = /\p{Emoji}/u;
let str = "😊";
console.log(regex.test(str)); // true
এখানে, \p{Emoji} ইমোজি স্ট্রিং "😊" এর সাথে মেলে, এবং true রিটার্ন করে।
৪. \p{Punctuation}: কোন চরিত্র যে একটি পাংকচুয়েশন চিহ্ন (Punctuation)
let regex = /\p{Punctuation}/u;
let str = "!";
console.log(regex.test(str)); // true
এখানে, \p{Punctuation} পংকচুয়েশন চিহ্ন (যেমন !) এর সাথে মেলে এবং true রিটার্ন করে।
৫. \P{Whitespace}: কোন চরিত্র যে সাদা স্পেস নয় (Non-whitespace character)
let regex = /\P{Whitespace}/u;
let str = "Hello";
console.log(regex.test(str)); // true
এখানে, \P{Whitespace} কোনো সাদা স্পেস (space, tab, new line) ছাড়া একক চরিত্র খুঁজে বের করবে। স্ট্রিং "Hello" এর মধ্যে কোনো সাদা স্পেস নেই, তাই এটি মেলে।
Unicode Property Escapes এর সুবিধা
- Unicode ক্যারেক্টারের নির্দিষ্ট প্রোপার্টি অনুসন্ধান: আপনি প্যাটার্নের মধ্যে Unicode প্রোপার্টির ওপর ভিত্তি করে চরিত্র খুঁজে বের করতে পারেন। যেমন: অক্ষর, সংখ্যা, ইমোজি, পাংকচুয়েশন চিহ্ন, ইত্যাদি।
- অত্যন্ত নির্ভুল ম্যাচিং: Unicode প্রোপার্টি ব্যবহার করে খুব নির্দিষ্ট ধরনের চরিত্র খুঁজে বের করা সম্ভব হয়, যা সাধারণ RegExp মেটাচারিত্র দিয়ে করা যায় না।
- বিশ্বব্যাপী ভাষার জন্য উপযুক্ত: Unicode প্রোপার্টি Escapes আন্তর্জাতিক ভাষা এবং স্ক্রিপ্টগুলির মধ্যে যেকোনো চরিত্র সহজে শনাক্ত করতে সাহায্য করে।
সারাংশ
JavaScript-এ Unicode Property Escapes বা \p{} প্যাটার্ন ব্যবহার করে Unicode প্রোপার্টির ভিত্তিতে নির্দিষ্ট চরিত্র বা চিহ্ন খুঁজে বের করা সম্ভব হয়। এটি স্ট্রিংয়ে সঠিক ক্যাটাগরির চরিত্র খুঁজে বের করার জন্য শক্তিশালী একটি টুল, যেমন অক্ষর (Letter), সংখ্যা (Number), ইমোজি (Emoji), পাংকচুয়েশন চিহ্ন (Punctuation), ইত্যাদি। এটি RegExp এর মাধ্যমে আরও নির্দিষ্ট এবং কার্যকরী স্ট্রিং ম্যাচিংয়ের সুযোগ প্রদান করে।
Read more