ప్రధాన కంటెంట్‌కు వెళ్లండి
మాడ్యూల్ 8 · 4లో పాఠం 3కోర్సులో 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 చెక్ లేదు.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

'octet + dot'ని 3 సార్లు పునరావృతం చేయడానికి (?:\\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 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది