मुख्य सामग्री पर जाएं
मॉड्यूल 6 · पाठ 3 का 4पाठ्यक्रम में 23/32~12 min
मॉड्यूल पाठ (3/4)

पीछे देखें: `(?<=...)` `(?<!...)`

पीछे की ओर आगे की ओर देखने की दर्पण छवि है: वे पहले को देखते हैं वर्तमान स्थिति, अभी भी शून्य-चौड़ाई।

  • (?<=...) -- सकारात्मक नज़र: पैटर्न पहले होना चाहिए।
  • (?<!...) -- नकारात्मक लुकबैक: पैटर्न पहले नहीं होना चाहिए।
Code
Pattern: (?<=\$)\d+
Sample:  Costo $100, sconto -25, totale $75.
                ^^^                  ^^

$ मिलान में नहीं है, लेकिन शर्त के रूप में काम करता है: केवल अंक पूर्ववर्ती डॉलर चिह्न मिलान द्वारा।

नकारात्मक पीछे देखना

Code
Pattern: (?<!\w)\d+
Sample:  Codice abc123 e numero 456.
                              ^^^

(?<!\w) के लिए आवश्यक है कि अंकों से पहले कोई शब्द वर्ण न हो: abc123 को बाहर रखा गया है (123 से पहले c है, एक \w), 456 मेल खाता है (पहले वहाँ एक जगह है)।

मुख्य अंतर बनाम गैर-कैप्चरिंग समूह

Code
\\$\\d+         matches "$100": the match includes the dollar sign.
(?<=\\$)\\d+    matches "100":  the match contains ONLY the digits.

यदि आपको उपसर्ग के बिना "स्वच्छ" मान निकालने की आवश्यकता है, तो पीछे देखें सही विकल्प है.

जावास्क्रिप्ट में संगतता पर नज़र डालें

सकारात्मक (?<=...) और नकारात्मक (?<!...) लुकबैक जांचें कि वर्तमान स्थिति से पहले क्या है। जावास्क्रिप्ट में, वे ES2018 से शुरू होकर समर्थित हैं; पुराने ब्राउज़रों या लीगेसी Node.js इंजनों में, वे सिंटैक्स संकलन त्रुटियों का कारण बनेंगे।

इसे अजमाएं

व्यायाम#regex.m6.l3.e1
प्रयास: 0लोड हो रहा है...

पाठ में कीमतों से केवल संख्यात्मक राशि ($ चिह्न के बिना) निकालें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

\\$ को सकारात्मक लुकबैक के अंदर ले जाएं (?<=\\$): एक स्थिति स्थिति, मैच का हिस्सा नहीं।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम की समीक्षा करें

व्यायाम#regex.m6.l3.e2
प्रयास: 0लोड हो रहा है...

अंकों का प्रत्येक क्रम खोजें जिसके पहले कोई अक्षर या अंक न हो (अर्थात, 'पृथक' संख्याएँ, `abc123` जैसे कोड के भाग नहीं)।

संपादक लोड हो रहा है...
संकेत दिखाएँ

जब पहले कोई अक्षर या अंक हो तो उसे बाहर करने के लिए नकारात्मक लुकबैक (?<!\\w) का उपयोग करें।

3 प्रयासों के बाद समाधान उपलब्ध है

अतिरिक्त चुनौती

व्यायाम#regex.m6.l3.e3
प्रयास: 0लोड हो रहा है...

Find only the digits of negative numbers (digits preceded by the `-` sign), excluding the minus sign from the match.

संपादक लोड हो रहा है...
संकेत दिखाएँ

ऋण चिह्न - (?<=-) के पीछे एक सकारात्मक लुक के अंदर ले जाएँ।

3 प्रयासों के बाद समाधान उपलब्ध है