मॉड्यूल पाठ (2/4)
नकारात्मक अग्रदर्शी: `(?!...)`
नकारात्मक भविष्यदृष्टि (?!...) सकारात्मक भविष्यदृष्टि की काली बहन है:
इसके लिए आवश्यक है कि दिया गया पैटर्न वर्तमान स्थिति का अनुसरण न करे। यह है
अभी भी शून्य-चौड़ाई: कोई वर्ण उपभोग नहीं किया जाता है।
Pattern: \d+(?! euro)
Sample: Prezzo 100 euro, sconto 25 euro, totale 75 dollari.
^^केवल 75 मेल खाता है, क्योंकि यह अंकों का एकमात्र क्रम है जिसका अनुसरण नहीं किया जाता है
euro. अंक 100 और 25 के बाद euro आते हैं और हैं
बहिष्कृत.
विशिष्ट नकारात्मक लुकहेड पैटर्न
^(?!.*errore).*$-- एक पंक्ति जिसमें "errore" शब्द नहीं है।\b(?!the\b)\w+\b-- एक शब्द जोtheनहीं है।(?!\s)-- वर्तमान स्थिति कोई रिक्त स्थान नहीं है ("ट्रिम" के रूप में उपयोगी)।
Pattern: ^(?!.*\.bak$).*$
Sample (multiline with flag m):
foto.jpg
backup.bak
documento.txt
Match: foto.jpg, documento.txt (excludes backup.bak)नकारात्मक लुकहेड के माध्यम से उन्नत बहिष्करण
बहिष्करण तर्क को लागू करने के लिए नकारात्मक लुकहेड (?!...) आवश्यक है (जैसे यह सत्यापित करना कि पासवर्ड में शब्दकोश शब्द नहीं हैं या पहचानकर्ता class या function जैसा आरक्षित कीवर्ड नहीं है)।
इसे अजमाएं
प्रत्येक वह संख्या ज्ञात करें जिसके बाद 'यूरो' नहीं आता है (इसलिए यूरो की कीमतों को छोड़कर)।
संकेत दिखाएँ
'अनुसरण नहीं करना चाहिए' कहने के लिए (?!...) का प्रयोग करें। `यूरो` अनुक्रम इसके बाद प्रकट नहीं होना चाहिए।
3 प्रयासों के बाद समाधान उपलब्ध है
व्यायाम की समीक्षा करें
कम से कम 3 अक्षरों का प्रत्येक शब्द ढूंढें जो 'द' (केस-इन्सेंसिव) नहीं है।
संकेत दिखाएँ
\\b के ठीक बाद एक नकारात्मक लुकअहेड (?!the\\b) खोलें जिसमें केवल शब्द शामिल नहीं है।
3 प्रयासों के बाद समाधान उपलब्ध है
अतिरिक्त चुनौती
Find all words consisting of letters that do not contain the letter `x` at any position (e.g. match `test`, `game` but not `extra`, `box`).
संकेत दिखाएँ
शब्द सीमा \\b के ठीक बाद एक नकारात्मक लुकअहेड (?!\\w*x) का उपयोग करें।
3 प्रयासों के बाद समाधान उपलब्ध है