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

URLகள் மற்றும் IPகளை பிரித்தெடுத்தல்

இலவச உரையில் (பதிவுகள், கட்டுரைகள், டம்ப்கள்) URLகளை பிரித்தெடுக்க விரும்புவது பொதுவானது. மற்றும் IP முகவரிகள். இரண்டிற்கும் வலுவான வடிவங்களைப் பார்ப்போம்.

http/https URLகள்

Code
Pattern: https?:\/\/[\w.-]+(?:\:\d+)?(?:\/[^\s]*)?
  • https?:\/\/ -- திட்டம், s விருப்பத்துடன்.
  • [\w.-]+ -- ஹோஸ்ட் (டொமைன், துணை டொமைன்கள், ஒருவேளை localhost).
  • (?:\:\d+)? -- விருப்ப போர்ட்.
  • (?:\/[^\s]*)? -- விருப்பமான பாதை, முதல் இடைவெளி வரை.

கைப்பற்றுகிறது https://example.com, http://localhost:3000/api/users, https://docs.dev/path?query=value.

IPv4

ஒரு IPv4 என்பது புள்ளிகளால் பிரிக்கப்பட்ட 4 தசம எண்கள்:

Code
Pattern: \b(?:\d{1,3}\.){3}\d{1,3}\b

"போதுமானவை" பதிப்பு: இது போன்ற தவறான மதிப்புகளையும் ஏற்கிறது 999.999.999.999. ஸ்டிரிக்ட் பதிப்பிற்கு உங்களுக்கு வரம்பு மாற்றீடு தேவை (25[0-5]|2[0-4]\d|[01]?\d\d?), இது மிகவும் நீளமானது.

Code
Pattern (strict): \b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\b

துல்லியம் மற்றும் சுருக்கம்

பொருந்தக்கூடிய URLகள் அல்லது IPகளுக்கு பேட்டர்ன் சகிப்புத்தன்மையை சமநிலைப்படுத்துதல் தேவை. ஒரு கடுமையான IP மதிப்பீட்டாளர் எந்த ஆக்டெட் 255 ஐத் தாண்டவில்லை என்பதைச் சரிபார்க்கிறது. மறுபுறம், ஒரு நடைமுறை பிரித்தெடுத்தல் பொதுவாக எளிமைப்படுத்தப்பட்ட வடிவங்களைத் தேடுகிறது மற்றும் பிரத்யேக குறியீட்டிற்கு சிறந்த சரிபார்ப்பை வழங்குகிறது.

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

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

உரையில் ஒவ்வொரு http அல்லது https URL ஐக் கண்டறியவும். திட்டம் + ஹோஸ்ட் + விருப்ப பாதை.

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

https? விருப்பமான sக்கு, [\\w.-]+ டொமைனுக்கு, மற்றும் ஒரு குழு (?:\\/[^\\s]*)? விருப்ப பாதைக்கு.

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

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

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

ஒவ்வொரு IPv4 ஐயும் கண்டறியவும் (புள்ளிகளால் பிரிக்கப்பட்ட 4 தசம எண்கள்). அனுமதிக்கப்பட்ட பதிப்பு, 0-255 சரிபார்ப்பு இல்லை.

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

3 முறை 'octet + dot' ஐ மீண்டும் செய்ய (?:\\d{1,3}\\.){3} ஐப் பயன்படுத்தவும், பின்னர் கடைசியாக \\d{1,3}.

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

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

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

Find all IPv4 addresses in the format `X.X.X.X` (composed of four 1-to-3 digit numbers separated by dots).

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

Use \b to enforce boundaries, (?:\d{1,3}\.){3} to repeat the octet and dot three times, and finally \d{1,3}.

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