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