ప్రధాన కంటెంట్‌కు వెళ్లండి
మాడ్యూల్ 6 · 4లో పాఠం 3కోర్సులో 23/32~12 min
మాడ్యూల్ పాఠాలు (3/4)

వెనుకవైపు చూడు: `(?<=...)` `(?<!...)`

లుక్‌బిహైండ్‌లు లుక్‌హెడ్స్ యొక్క అద్దం చిత్రం: అవి ముందు కనిపిస్తాయి ప్రస్తుత స్థానం, ఇప్పటికీ సున్నా-వెడల్పు.

  • (?<=...) -- పాజిటివ్ లుక్‌బిహండ్: నమూనా తప్పనిసరిగా ముందుగా ఉండాలి.
  • (?<!...) -- నెగటివ్ లుక్‌బెహైండ్: నమూనా ముందుగా ఉండకూడదు.
Code
Pattern: (?<=\$)\d+
Sample:  Costo $100, sconto -25, totale $75.
                ^^^                  ^^

$ మ్యాచ్‌లో లేదు, కానీ షరతుగా పనిచేస్తుంది: అంకెలు మాత్రమే ముందు డాలర్ గుర్తు సరిపోలిక.

వెనుకవైపు ప్రతికూల చూపు

Code
Pattern: (?<!\w)\d+
Sample:  Codice abc123 e numero 456.
                              ^^^

(?<!\w) అంకెలకు ముందు పద అక్షరాలు ఉండకూడదు: abc123 మినహాయించబడింది (123 ముందు c ఉంది, ఒక \w), 456 మ్యాచ్‌లు (ముందు ఖాళీ ఉంది).

నాన్ క్యాప్చరింగ్ గ్రూప్ vs కీ తేడా

Code
\\$\\d+         matches "$100": the match includes the dollar sign.
(?<=\\$)\\d+    matches "100":  the match contains ONLY the digits.

మీరు ఉపసర్గ లేకుండా "క్లీన్" విలువను సంగ్రహించవలసి వస్తే, lookbehind అనేది సరైన ఎంపిక.

జావాస్క్రిప్ట్‌లో లుక్‌బిహైండ్ అనుకూలత

సానుకూల (?<=...) మరియు ప్రతికూల (?<!...) లుక్‌బిహైండ్ ప్రస్తుత స్థానానికి ముందు ఉన్నదాన్ని తనిఖీ చేయండి. జావాస్క్రిప్ట్‌లో, వారికి ES2018 నుండి మద్దతు లభిస్తుంది; పాత బ్రౌజర్‌లు లేదా లెగసీ Node.js ఇంజిన్‌లలో, అవి సింటాక్స్ కంపైలేషన్ లోపాలను కలిగిస్తాయి.

దీనిని ప్రయత్నించండి

వ్యాయామం#regex.m6.l3.e1
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

టెక్స్ట్‌లోని ధరల నుండి సంఖ్యా మొత్తాన్ని ($ గుర్తు లేకుండా) మాత్రమే సంగ్రహించండి.

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

పాజిటివ్ లుక్‌బిహైండ్ (?<=\\$) లోపల \\$ని తరలించండి: ఒక స్థానం పరిస్థితి, మ్యాచ్‌లో భాగం కాదు.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం సమీక్షించండి

వ్యాయామం#regex.m6.l3.e2
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

అక్షరం లేదా అంకె (అంటే, 'ఐసోలేటెడ్' సంఖ్యలు, `abc123` వంటి కోడ్ భాగాలు కాదు) ముందు లేని అంకెల ప్రతి క్రమాన్ని కనుగొనండి.

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

ముందు అక్షరం లేదా అంకె ఉన్నప్పుడు మినహాయించడానికి వెనుకవైపు (?<!\\w) ప్రతికూల రూపాన్ని ఉపయోగించండి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

అదనపు సవాలు

వ్యాయామం#regex.m6.l3.e3
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

Find only the digits of negative numbers (digits preceded by the `-` sign), excluding the minus sign from the match.

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

మైనస్ గుర్తును తరలించండి - వెనుకవైపు పాజిటివ్ లుక్ లోపల (?<=-).

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది