শব্দ সীমানা \b
বা অনুরূপ ডিভাইসের কারণে নিয়মিত প্রকাশগুলি অনেক লোকের পক্ষে আরও অনুকূল হবে । ওয়ার্ড সীমানা ঘটে যখন কোন 0-9
, a-z
, A-Z
, _
উপর দিকে পরবর্তী ম্যাচের, অথবা যখন লাইন বা স্ট্রিং শেষ বা শুরু একটি আলফানিউমেরিক অক্ষর সংযুক্ত করে।
if (location.href.match(/(?:\b|_)franky(?:\b|_)))
আপনি ব্যবহার করেন তাহলে if(window.location.href.indexOf("sam")
, আপনার জন্য ম্যাচ পাবেন flotsam
এবং same
অন্য কথায় মধ্যে। tom
টমেটো এবং আগামীকাল মিলবে, রেজিক্স ছাড়াই।
এটিকে কেস-সেনসেটিভ করা অপসারণের মতোই সহজ i
।
আরও, অন্যান্য ফিল্টার যুক্ত করা সহজ as
if (location.href.match(/(?:\b|_)(?:franky|bob|billy|john|steve)(?:\b|_)/i))
এর সম্পর্কে কথা বলা যাক (?:\b|_)
। RegEx সাধারণত _
একটি হিসাবে সংজ্ঞায়িত word character
করে তাই এটি শব্দের সীমাবদ্ধতা সৃষ্টি করে না। আমরা (?:\b|_)
এটি মোকাবেলা করতে এটি ব্যবহার করি । যদি এটা হয় খুঁজে বের করে তা দেখার জন্য \b
বা _
স্ট্রিং এর উভয় পাশে।
অন্যান্য ভাষার মতো কিছু ব্যবহার করার প্রয়োজন হতে পারে
if (location.href.match(/([^\wxxx]|^)(?:franky|bob|billy|john|steve)([^\wxxx]|$)/i))
//where xxx is a character representation (range or literal) of your language's alphanumeric characters.
এই সব বলার চেয়ে সহজ
var x = location.href // just used to shorten the code
x.indexOf("-sam-") || x.indexOf("-sam.") || x.indexOf(" sam,") || x.indexOf("/sam")...
// and other comparisons to see if the url ends with it
// more for other filters like frank and billy
নিয়মিত প্রকাশের অন্যান্য ভাষার স্বাদগুলি সমর্থন করে \p{L}
তবে জাভাস্ক্রিপ্টটি দেয় না, যা বিদেশী চরিত্রগুলি সনাক্ত করার কাজটিকে আরও সহজ করে তোলে। কিছুটা এইরকম[^\p{L}](filters|in|any|alphabet)[^\p{L}]
"window.location.contains is not a function"