தொகுதி பாடங்கள் (3/4)
கைப்பற்றாத குழுக்கள்: `(?:...)`
பெரும்பாலும் அடைப்புக்குறிகள் குழுக்கு மட்டுமே தேவைப்படும் (அளவிடு, மாற்று)
மற்றும் மதிப்பைப் பிரித்தெடுக்க முடியாது. அப்படியானால் பிடிக்காத
பதிப்பு: (?:...). இது (...) க்கு ஒத்ததாக வேலை செய்கிறது ஆனால் உருவாக்காது
எண்ணிடப்பட்ட குழு.
Pattern: (?:https?)://(\w+\.\w+)
Sample: https://example.com e http://test.org
Match e gruppi:
match = "https://example.com" gruppo1 = "example.com"
match = "http://test.org" gruppo1 = "test.org"(?:https?) ? குவாண்டிஃபையரைப் பயன்படுத்துவதற்கான திட்டத்தைக் குழுவாக்குகிறோம், ஆனால் நாங்கள்
குழுவாக https பிரித்தெடுப்பதில் ஆர்வம் இல்லை: குழு 1 என்பது நேரடியாக
டொமைன்.
அதை ஏன் பயன்படுத்த வேண்டும்
- படிக்கக்கூடிய தன்மை: குழு மட்டுமே உள்ளது என்பதை வாசகர் உடனடியாக புரிந்துகொள்கிறார் கட்டமைப்பு, மதிப்பைப் பிரித்தெடுக்க அல்ல.
- செயல்திறன்: குழுவின் பொருத்தத்தை இயந்திரம் சேமிக்க வேண்டியதில்லை.
- சுத்தமான எண்ணிடல்: எண்ணிடப்பட்ட குழுக்கள் சீரமைக்கப்பட்டிருக்கும் குறுக்கீடு இல்லாமல் "எனக்குத் தேவையான தகவல்".
பிடிக்காத குழுக்களுடன் மேம்படுத்துதல்
(?:...) ஐப் பயன்படுத்தி, இடைநிலைப் பொருத்த முடிவுகளைச் சேமிக்கும் நினைவகத்தை வீணாக்காமல், குழுவாக்கம் மற்றும் அளவுகோல் விதிகளைப் பயன்படுத்துமாறு இன்ஜினிடம் கூறுகிறது. கனமான சுழல்கள் அல்லது மிக நீண்ட உரை செயலாக்கத்தில் இது மிகவும் பரிந்துரைக்கப்படுகிறது.
முயற்சி செய்து பாருங்கள்
உரையில் உள்ள ஒவ்வொரு URLலிருந்தும் டொமைனை (`example.com`, `test.org`...) பிரித்தெடுக்கவும். நெறிமுறைக்கு `(?:https?)` ஐப் பயன்படுத்தவும் (அதைப் பிடிக்க வேண்டிய அவசியமில்லை) மற்றும் டொமைனுக்கான ஒரு குழுவைப் பயன்படுத்தவும்.
குறிப்பைக் காட்டு
முதல் குழுவை (https?) இலிருந்து (?:https?) ஆக மாற்றவும்: அதைப் பிடிக்க வேண்டிய அவசியமில்லை, உங்களுக்கு டொமைன் மட்டுமே தேவை.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
மதிப்பாய்வு பயிற்சி
`ab` இன் ஒவ்வொரு மறுநிகழ்ச்சியையும் ஒற்றைப் பொருத்தமாகக் கண்டறியவும், ஆனால் குழுவைப் பிடிக்காமல் (உங்களுக்கு முழுப் போட்டியும் மட்டுமே தேவை என்பதால்).
குறிப்பைக் காட்டு
முந்தைய பாடத்தின் அதே தொடரியல், ஆனால் (ab)+ க்கு பதிலாக (?:ab)+ உடன்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
கூடுதல் சவால்
Find price digits followed optionally by decimal parts inside a non-capturing group, e.g. `100` or `100.50`.
குறிப்பைக் காட்டு
(?:\\.\\d{2}) பயன்படுத்தவா? தசம பகுதியைப் பிடிக்காமல் அதை விருப்பமாக மாற்றுவது.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்