Skip to content

Latest commit

 

History

History
52 lines (35 loc) · 5.2 KB

File metadata and controls

52 lines (35 loc) · 5.2 KB

ওয়ার্ড বাউন্ডারি: \b

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,কেননা:

  1. শুরুতে এটি স্ট্রিংয়ের প্রথম চেকিংয়ের pattern:\b সাথে মিলে।
  2. তারপর শব্দটির pattern:Hello সাথে মিলে।
  3. তারপর আবার 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 (অথবা যেকোন অঙ্ক অথবা আন্ডারস্কোর), তাই টেস্ট অন্যান্য ভাষার জন্য কাজ করবে না, যেমন: সিরিলিক বা হায়ারোগ্লিফস অক্ষর।