Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

जावास्क्रिप्ट रेगुलर एक्सप्रेशन्स में लुकबिहाइंड एसर्शन


परिचय

लुकबिहाइंड एसर्शन (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) - तभी मिलान करता है जब पैटर्न से पहले न हो
  • फिक्स्ड-चौड़ाई पैटर्न की आवश्यकता होती है (क्वांटिफायर्स जैसे * या + की अनुमति नहीं)
  1. जावास्क्रिप्ट में फंक्शन एक्सप्रेशन्स क्या हैं? जावास्क्रिप्ट में फंक्शन एक्सप्रेशन्स क्या हैं?

    फंक्शन एक्सप्रेशन्स हमें फंक्शन को एक वेरिएबल में स्टोर करने की अनुमति देते हैं जिसे बाद में वेरिएबल नाम का उपयोग करके इनवोक किया जा सकता है। वे सामान्य फंक्शन डिक्लेरेशन की तरह होइस्ट नहीं होते इसलिए उन्हें परिभाषित होने से पहले नहीं बुलाया जा सकता। जावास्क्रिप्ट में फंक्शन एक्सप्रेशन्स को लागू कर

  1. जावास्क्रिप्ट में डॉक्यूमेंट रेडी है या नहीं कैसे जांचें? जावास्क्रिप्ट में डॉक्यूमेंट रेडी है या नहीं कैसे जांचें?

    जावास्क्रिप्ट में डॉक्यूमेंट रेडी है या नहीं जांचने के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <style> &nbs

  1. जावास्क्रिप्ट में डायनामिक इम्पोर्ट्स जावास्क्रिप्ट में डायनामिक इम्पोर्ट्स

    जावास्क्रिप्ट में डायनामिक इम्पोर्ट्स के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <style>    body