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/) ); // null
subject: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
(অথবা যেকোন অঙ্ক অথবা আন্ডারস্কোর), তাই টেস্ট অন্যান্য ভাষার জন্য কাজ করবে না, যেমন: সিরিলিক বা হায়ারোগ্লিফস অক্ষর।