परिचय
लुकबिहाइंड एसर्शन (ES2018 में पेश) एक पैटर्न से तभी मिलान करने की अनुमति देता है जब उसके पहले कोई विशिष्ट पैटर्न मौजूद हो, बिना उस पूर्ववर्ती पैटर्न को मिलान में शामिल किए। यह दो प्रकार के होते हैं: पॉजिटिव लुकबिहाइंड (?<=...) और नेगेटिव लुकबिहाइंड (?<!...)।
उदाहरण
निम्न उदाहरण दर्शाता है कि लुकबिहाइंड का उपयोग करके डॉलर साइन ($) से पहले आने वाली कीमतों को कैसे निकाला जाए:
<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>लुकबिहाइंड एसर्शन उदाहरण</title> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } .sample, .result { font-size: 20px; font-weight: 500; } </style> </head> <body> <h1>लुकबिहाइंड एसर्शन - रेगुलर एक्सप्रेशन्स</h1> <div class="sample">4 टेबलों की कीमतें हैं $50, $99, $121 और $150।</div> <div style="color: green;" class="result"></div> <button class="btn">यहाँ क्लिक करें</button> <h3> लुकबिहाइंड का उपयोग करके टेबल की कीमतें निकालने के लिए ऊपर दिए गए बटन पर क्लिक करें </h3> <script> const sampleEle = document.querySelector(".sample").innerHTML; const btnEle = document.querySelector(".btn"); const resEle = document.querySelector(".result"); // पॉजिटिव लुकबिहाइंड: $ से पहले आने वाले अंकों से मिलान करें const priceRegex = /(?<=\$)\d+/g; btnEle.addEventListener("click", () => { const matches = sampleEle.match(priceRegex); resEle.innerHTML = "टेबल की कीमतें हैं = " + (matches ? matches.join(', ') : 'कोई नहीं मिला'); }); </script> </body> </html>
आउटपुट
उपरोक्त कोड निम्न आउटपुट उत्पन्न करेगा:

'यहाँ क्लिक करें' बटन पर क्लिक करने पर:

मुख्य बिंदु
- पॉजिटिव लुकबिहाइंड:
(?<=pattern)- तभी मिलान करता है जब पैटर्न से पहले हो - नेगेटिव लुकबिहाइंड:
(?<!pattern)- तभी मिलान करता है जब पैटर्न से पहले न हो - फिक्स्ड-चौड़ाई पैटर्न की आवश्यकता होती है (क्वांटिफायर्स जैसे * या + की अनुमति नहीं)