Anchor এর মতোই অনেকটা। কিন্তু এক্ষেত্রে আরো স্পেসেফিকভাবে সার্চ করা যাবে। এগুলো সাধারনত প্রথম ব্র্যাকেটস ()
এর ভিতরে থেকে কাঙ্ক্ষিত ক্যারেক্টার/স্ট্রিং এর আগে বা পরে বসে সেটার উপর কন্ডিশন অ্যাপ্লাই করে।
?=
= : ধরি আমাদের এরকম (d(?=r)
) একটা রেগুলার এক্সপ্রেশন আছে। এর মানে হচ্ছে এরকম যদি d এর পরে r থাকে তাহলেই একমাত্র d টাকে সিলেক্ট করা হবে। এক্ষেত্রে r নিজে সিলেক্ট হবে না। আমরা r কে দেখে জাস্ট d কে সিলেক্ট করতে পারবো।
?!
= : এটা ঠিক আগেরটার উল্টো। d(?!r)
মানে হচ্ছে এমন d কে সিলেক্ট করা হবে যার পরে r নাই। কোনো d এর পরে r থাকলে তাহলে সেটা সিলেক্ট করা হবে না।