தொகுதி பாடங்கள் (2/4)
எதிர்மறையான பார்வை: `(?!...)`
நெகட்டிவ் லுக்ஹெட் (?!...) என்பது நேர்மறை தோற்றத்தின் இருண்ட சகோதரி:
கொடுக்கப்பட்ட முறை தற்போதைய நிலையைப் பின்பற்றாமல் இருக்க வேண்டும். அது
இன்னும் ஜீரோ-அகலம்: எந்த எழுத்தும் நுகரப்படவில்லை.
Pattern: \d+(?! euro)
Sample: Prezzo 100 euro, sconto 25 euro, totale 75 dollari.
^^75 மட்டுமே பொருந்தும், ஏனெனில் இது இலக்கங்களின் வரிசை மட்டுமே பின்பற்றப்படவில்லை
euro. 100 மற்றும் 25 என்ற இலக்கங்களைத் தொடர்ந்து euro மற்றும்
விலக்கப்பட்டது.
வழக்கமான எதிர்மறை தோற்ற வடிவங்கள்
^(?!.*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 எழுத்துக்களின் ஒவ்வொரு வார்த்தையையும் 'the' அல்லாத (கேஸ்-சென்சிட்டிவ்) கண்டறியவும்.
குறிப்பைக் காட்டு
\\b க்குப் பிறகு, the என்ற வார்த்தையை மட்டும் தவிர்த்து எதிர்மறையான பார்வையை (?!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 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்