முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
தொகுதி 6 · பாடம் 1 இன் 4பாடத்திட்டத்தில் 21/32~10 min
தொகுதி பாடங்கள் (1/4)

நேர்மறை பார்வை: `(?=...)`

ஒரு நேர்மறையான பார்வை (?=...) என்பது பூஜ்ஜிய அகல உறுதிப்பாடு: ஒரு குறிப்பிட்ட முறை தற்போதைய நிலையைப் பின்பற்றுகிறதா என்பதை இது சரிபார்க்கிறது, ஆனால் ** செய்கிறது அந்த எழுத்துக்களை நுகர்வதில்லை.

Code
Pattern: \d+(?= euro)
Sample:  Prezzo 100 euro, sconto 25 euro, totale 75 dollari.
                ^^^                 ^^

லுக்ஹெட் (?= euro) இலக்கங்களைத் தொடர்ந்து euro இருக்க வேண்டும், ஆனால் போட்டியில் இலக்கங்கள் மட்டுமே அடங்கும். 75 dollari பொருந்தவில்லை (இல்லை euro).

ஏன் "பூஜ்ஜிய அகலம்"

லுக்எஹெட் நிலையை ஒரு ** நிபந்தனை** என்று நினைத்துப் பாருங்கள், ஒரு என அல்ல போட்டியின் ஒரு பகுதி:

  • பார்வைக்கு முன் போட்டி நிறுத்தப்படும்.
  • "போட்டிக்குப் பிறகு" நிலை என்பது லுக்ஹெட் மூலம் ஆய்வு செய்யப்பட்ட உரையின் தொடக்கமாகும்.
  • g கொடியுடன் அடுத்த போட்டி முயற்சி அங்கிருந்து மீண்டும் தொடங்கும்.

இது மதிப்புகளை அவற்றின் சூழல் இல்லாமல் பிரித்தெடுப்பதற்கு சரியானதாக ஆக்குகிறது: விலைகள் நாணயம் இல்லாமல், நிறுத்தற்குறிக்கு முந்தைய வார்த்தைகள் மற்றும் பல.

லுக்ஹெட் அம்சங்கள் மற்றும் பூஜ்ஜிய அகல ஸ்கேன்

பாசிட்டிவ் லுக்ஹெட் (?=...) குறிப்பிட்ட பேட்டர்ன் தற்போதைய புள்ளியைப் பின்பற்றுகிறது என்று உத்தரவாதம் அளிக்கிறது. இது அடுத்தடுத்த பொருத்தங்களுக்குத் தேவைப்படும் உரையின் பகுதிகளை "நுகர்வதை" தடுக்கிறது.

முயற்சி செய்து பாருங்கள்

உடற்பயிற்சி#regex.m6.l1.e1
முயற்சிகள்: 0ஏற்றுகிறது…

யூரோ விலைகளின் இலக்கங்களை மட்டும் பிரித்தெடுக்கவும் (இலக்கங்களின் வரிசைகளை தொடர்ந்து 'யூரோ'). போட்டியில் நாணயம் இல்லை.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

லுக்ஹெட் (?= யூரோ) உள்ளே 'யூரோ' நகர்த்தவும்: சரம் போட்டியின் பகுதியாக இருக்காது.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

மதிப்பாய்வு பயிற்சி

உடற்பயிற்சி#regex.m6.l1.e2
முயற்சிகள்: 0ஏற்றுகிறது…

ஒவ்வொரு வார்த்தையையும் உடனடியாக ஒரு பெருங்குடலைத் தொடர்ந்து `:` (ஆனால் போட்டியில் பெருங்குடலைச் சேர்க்காமல்) கண்டறியவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

அதே தர்க்கம்: `:` போட்டியில் இல்லை, ஆனால் அது ஒரு நிலை நிபந்தனை.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

கூடுதல் சவால்

உடற்பயிற்சி#regex.m6.l1.e3
முயற்சிகள்: 0ஏற்றுகிறது…

Find every word (e.g. function name) followed immediately by an open parenthesis `(`, excluding the parenthesis from the match.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

பாசிட்டிவ் லுக்ஹெட் (?=...) உள்ளே \\( (திறந்த அடைப்புக்குறிக்குள் தப்பி) நகர்த்தவும்.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்