pattern:\b ওয়ার্ড বাউন্ডারি, pattern:^ এবং pattern:$ এর মত এক ধরণের চেকিং ক্যারাক্টার।
যখন রেগুলার এক্সপ্রেশন ইঞ্জিন (প্রোগ্রাম মডিউল যা রেজেক্স সার্চিং ইমপ্লিমেন্ট করে) pattern:\b প্যাটার্নটি দেখে, এটি স্ট্রিংটির জন্য ওয়ার্ড বাউন্ডারির আছে কিনা চেক করে।
ওয়ার্ড বাউন্ডারির ৩ টি শর্ত রয়েছে:
- যদি স্ট্রিংয়ের শুরুতে প্রথম ক্যারাক্টারটি ওয়ার্ড ক্যারাক্টার
pattern:\wহয়। - স্ট্রিংয়ে দুটি ক্যারাক্টারের বাউন্ডারির এক পাশে
pattern:\wক্যারাক্টার থাকবে এবং অন্য পাশেpattern:\wক্যারাক্টার থাকবে না। - যদি ওয়ার্ড বাউন্ডারির শেষ ক্যারাক্টারটি ওয়ার্ড ক্যারাক্টার
pattern:\wহয়।
উদাহরণস্বরূপ, subject:Hello, Java! এর মধ্যে রেগুলার এক্সপ্রেশন pattern:\bJava\b পাওয়া যাবে যেখানে subject:Java হল একটি একক শব্দ, কিন্তু subject:Hello, JavaScript! এর মধ্যে পাওয়া যাবে না।
alert( "Hello, Java!".match(/\bJava\b/) ); // Java
alert( "Hello, JavaScript!".match(/\bJava\b/) ); // nullsubject:Hello, Java! স্ট্রিংয়ের মধ্যে, নিম্নলিখিত pattern:\b প্যাটার্নের সাথে মিলে:
সুতরাং, এটি এই প্যাটার্নের সাথেও মিলবে pattern:\bHello\b,কেননা:
- শুরুতে এটি স্ট্রিংয়ের প্রথম চেকিংয়ের
pattern:\bসাথে মিলে। - তারপর শব্দটির
pattern:Helloসাথে মিলে। - তারপর আবার
pattern:\bএর সাথে মিলে, যেহেতুsubject:oএর পর একটি স্পেস আছে।
এভাবে pattern:\bJava\b এটিও মিলে। কিন্তু pattern:\bHell\b মিলবে না (কেননা l এর পর কোন ওয়ার্ড বাউন্ডারি নেই) এবং Java!\b মিলবেনা (কেননা আশ্চর্যবোধক চিহ্ন কোন ওয়ার্ডলি ক্যারাক্টার pattern:\w না, সুতরাং এর পরেও কোন ওয়ার্ড বাউন্ডারি নেই)।
alert( "Hello, Java!".match(/\bHello\b/) ); // Hello
alert( "Hello, Java!".match(/\bJava\b/) ); // Java
alert( "Hello, Java!".match(/\bHell\b/) ); // null (no match)
alert( "Hello, Java!".match(/\bJava!\b/) ); // null (no match)আমরা প্যাটার্ন pattern:\b শুধু শব্দ চেকিংয়ের জন্য ব্যবহার করতে পারি এমন না, আমরা ডিজিটও ব্যবহার করতে পারি।
যেমন, pattern:\b\d\d\b প্যাটার্নটি দুই অঙ্কের একটি সংখ্যা খুঁজবে। অন্য অর্থে বলা যায় দুই অঙ্কের সংখ্যা খুঁজবে যা pattern:\w ছাড়া অন্যান্য ক্যারাক্টার যেমন স্পেস অথবা বিরাম চিহ্ন (টেক্সটের শুরুতে বা শেষে) দ্বারা আবদ্ধ থাকবে।
alert( "1 23 456 78".match(/\b\d\d\b/g) ); // 23,78
alert( "12,34,56".match(/\b\d\d\b/g) ); // 12,34,56```warn header="ওয়ার্ড বাউন্ডারি pattern:\b লাতিন ব্যতীত অন্য বর্ণের জন্য কাজ করবে না"
ওয়ার্ড বাউন্ডারি টেস্ট `pattern:\b` চেক করে বাউন্ডারির এক পাশে `pattern:\w` ক্যারাক্টার থাকবে এবং অন্য পাশে "`pattern:\w` ক্যারাক্টার থাকবে না"।
এখানে pattern:\w মানে লাতিন বর্ণ a-z (অথবা যেকোন অঙ্ক অথবা আন্ডারস্কোর), তাই টেস্ট অন্যান্য ভাষার জন্য কাজ করবে না, যেমন: সিরিলিক বা হায়ারোগ্লিফস অক্ষর।