উত্তর:
পার্লে (এবং পিসিআরই) এটি শূন্য প্রস্থের বর্ণমালার সাথে অর্জনযোগ্য :
(?<=funnyword).*$
যা "মজার শব্দ" এর সাথে মেলে তবে এটি ম্যাচের অংশ হিসাবে গ্রাস করে না। এগুলি কেবল চেহারাটির পিছনে স্থির দৈর্ঘ্যের পাঠ্যের সাথে কাজ করে। (?<!...)
কিছু পাঠ্য নেই বলে উল্লেখ করতে আপনি নেতিবাচক লুকবিহাইন্ডস ( ) ব্যবহার করতে পারেন ।
পার্লের যে কোনও যুক্তিসঙ্গত সাম্প্রতিক সংস্করণে এটি ব্যবহার করার \K
জন্য প্রায় একটি সঠিক বিকল্প exact\zs
funnyword\K.*$
\K
এতদূর মিলেছে সমস্ত কিছু ত্যাগ করে তবে সেই বিন্দু থেকে মিলতে থাকে। আগের অংশটি \K
নির্দিষ্ট দৈর্ঘ্যের হতে হবে না। এটি এখন পিসিআরই-তে রয়েছে , তবে এটির কোন সংস্করণটি এসেছে তা আমি নিশ্চিত নই।
\ze
পরিবর্তে ব্যবহার করে শূন্য-প্রস্থের লুকোহেড দিয়ে অর্জন করা যায় (?=...)
। এই প্যাটার্নটির নির্দিষ্ট দৈর্ঘ্যের প্রয়োজন নেই ।
কারণ sed ব্যবহার BREs POSIX , কোন lookaround হয় । এই ক্ষেত্রে, আপনি সাধারণ ক্যাপচারিং গ্রুপ ব্যবহার করে মোটামুটি সহজেই এটিকে সিমুলেট করতে পারেন:
sed -e 's/\(funnyword\).*$/\1otherword/'
আপনি ইতিবাচক চেহারা জন্য একই কাজ করতে পারেন। আপনার যদি সত্যিই আরও জটিল প্রয়োজন হয় তবে আপনাকে পার্ল বা অন্য কোনও পদ্ধতির দিকে নজর দিতে হতে পারে।