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

கைப்பற்றாத குழுக்கள்: `(?:...)`

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

Code
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 என்பது நேரடியாக டொமைன்.

அதை ஏன் பயன்படுத்த வேண்டும்

  1. படிக்கக்கூடிய தன்மை: குழு மட்டுமே உள்ளது என்பதை வாசகர் உடனடியாக புரிந்துகொள்கிறார் கட்டமைப்பு, மதிப்பைப் பிரித்தெடுக்க அல்ல.
  2. செயல்திறன்: குழுவின் பொருத்தத்தை இயந்திரம் சேமிக்க வேண்டியதில்லை.
  3. சுத்தமான எண்ணிடல்: எண்ணிடப்பட்ட குழுக்கள் சீரமைக்கப்பட்டிருக்கும் குறுக்கீடு இல்லாமல் "எனக்குத் தேவையான தகவல்".

பிடிக்காத குழுக்களுடன் மேம்படுத்துதல்

(?:...) ஐப் பயன்படுத்தி, இடைநிலைப் பொருத்த முடிவுகளைச் சேமிக்கும் நினைவகத்தை வீணாக்காமல், குழுவாக்கம் மற்றும் அளவுகோல் விதிகளைப் பயன்படுத்துமாறு இன்ஜினிடம் கூறுகிறது. கனமான சுழல்கள் அல்லது மிக நீண்ட உரை செயலாக்கத்தில் இது மிகவும் பரிந்துரைக்கப்படுகிறது.

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

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

உரையில் உள்ள ஒவ்வொரு URLலிருந்தும் டொமைனை (`example.com`, `test.org`...) பிரித்தெடுக்கவும். நெறிமுறைக்கு `(?:https?)` ஐப் பயன்படுத்தவும் (அதைப் பிடிக்க வேண்டிய அவசியமில்லை) மற்றும் டொமைனுக்கான ஒரு குழுவைப் பயன்படுத்தவும்.

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

முதல் குழுவை (https?) இலிருந்து (?:https?) ஆக மாற்றவும்: அதைப் பிடிக்க வேண்டிய அவசியமில்லை, உங்களுக்கு டொமைன் மட்டுமே தேவை.

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

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

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

`ab` இன் ஒவ்வொரு மறுநிகழ்ச்சியையும் ஒற்றைப் பொருத்தமாகக் கண்டறியவும், ஆனால் குழுவைப் பிடிக்காமல் (உங்களுக்கு முழுப் போட்டியும் மட்டுமே தேவை என்பதால்).

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

முந்தைய பாடத்தின் அதே தொடரியல், ஆனால் (ab)+ க்கு பதிலாக (?:ab)+ உடன்.

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

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

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

Find price digits followed optionally by decimal parts inside a non-capturing group, e.g. `100` or `100.50`.

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

(?:\\.\\d{2}) பயன்படுத்தவா? தசம பகுதியைப் பிடிக்காமல் அதை விருப்பமாக மாற்றுவது.

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