এখন যেহেতু জাভাস্ক্রিপ্ট (হিসাবে lookbehind করেছে ES2018 ), নতুন পরিবেশে, আপনি গ্রুপ সম্পূর্ণরূপে এই মত পরিস্থিতিতে এড়াতে পারবেন। বরং, lookbehind কোন দল আপনি আটক বহু আগে থেকেই আসে, এবং জন্য lookahead পর আসে, এবং প্রতিস্থাপন জন্য মাত্র !NEW_ID!
:
const str = 'name="some_text_0_some_text"';
console.log(
str.replace(/(?<=name="\w+)\d+(?=\w+")/, '!NEW_ID!')
);
এই পদ্ধতির সাহায্যে পুরো ম্যাচটি কেবল সেই অংশ যা প্রতিস্থাপন করা দরকার।
(?<=name="\w+)
- name"
শব্দের অক্ষর অনুসারে সন্ধান করুন (ভাগ্যক্রমে, জাভাস্ক্রিপ্টে লুকবাইন্ডগুলি নির্দিষ্ট প্রস্থ নয়!)
\d+
- এক বা একাধিক অঙ্কের সাথে ম্যাচ করুন - প্যাটার্নের একমাত্র অংশটি তাত্ক্ষণিকভাবে নয়, স্ট্রিংয়ের একমাত্র অংশ যা ফলাফলের সাথে মিলবে
(?=\w+")
- characters এর পরে শব্দের অক্ষরের সন্ধান করুন "
`
মনে রাখবেন যে লুকইহাইডটি বেশ নতুন। এটি ভি 8 এর আধুনিক সংস্করণগুলিতে (ক্রোম, অপেরা এবং নোড সহ) কাজ করে তবে বেশিরভাগ অন্যান্য পরিবেশে নয় , কমপক্ষে এখনও হয়নি। সুতরাং আপনি নোডে এবং আপনার নিজের ব্রাউজারে নির্ভরযোগ্যভাবে লুকবিহিন ব্যবহার করতে পারেন (এটি যদি ভি 8 এর একটি আধুনিক সংস্করণে চলে তবে) এটি এলোমেলো ক্লায়েন্টদের দ্বারা পর্যাপ্ত সমর্থনযোগ্য নয় (যেমন কোনও পাবলিক ওয়েবসাইটে)।