మాడ్యూల్ పాఠాలు (3/4)
వెనుకవైపు చూడు: `(?<=...)` `(?<!...)`
లుక్బిహైండ్లు లుక్హెడ్స్ యొక్క అద్దం చిత్రం: అవి ముందు కనిపిస్తాయి ప్రస్తుత స్థానం, ఇప్పటికీ సున్నా-వెడల్పు.
(?<=...)-- పాజిటివ్ లుక్బిహండ్: నమూనా తప్పనిసరిగా ముందుగా ఉండాలి.(?<!...)-- నెగటివ్ లుక్బెహైండ్: నమూనా ముందుగా ఉండకూడదు.
Pattern: (?<=\$)\d+
Sample: Costo $100, sconto -25, totale $75.
^^^ ^^$ మ్యాచ్లో లేదు, కానీ షరతుగా పనిచేస్తుంది: అంకెలు మాత్రమే
ముందు డాలర్ గుర్తు సరిపోలిక.
వెనుకవైపు ప్రతికూల చూపు
Pattern: (?<!\w)\d+
Sample: Codice abc123 e numero 456.
^^^(?<!\w) అంకెలకు ముందు పద అక్షరాలు ఉండకూడదు:
abc123 మినహాయించబడింది (123 ముందు c ఉంది, ఒక \w), 456 మ్యాచ్లు (ముందు
ఖాళీ ఉంది).
నాన్ క్యాప్చరింగ్ గ్రూప్ vs కీ తేడా
\\$\\d+ matches "$100": the match includes the dollar sign.
(?<=\\$)\\d+ matches "100": the match contains ONLY the digits.మీరు ఉపసర్గ లేకుండా "క్లీన్" విలువను సంగ్రహించవలసి వస్తే, lookbehind అనేది సరైన ఎంపిక.
జావాస్క్రిప్ట్లో లుక్బిహైండ్ అనుకూలత
సానుకూల (?<=...) మరియు ప్రతికూల (?<!...) లుక్బిహైండ్ ప్రస్తుత స్థానానికి ముందు ఉన్నదాన్ని తనిఖీ చేయండి. జావాస్క్రిప్ట్లో, వారికి ES2018 నుండి మద్దతు లభిస్తుంది; పాత బ్రౌజర్లు లేదా లెగసీ Node.js ఇంజిన్లలో, అవి సింటాక్స్ కంపైలేషన్ లోపాలను కలిగిస్తాయి.
దీనిని ప్రయత్నించండి
టెక్స్ట్లోని ధరల నుండి సంఖ్యా మొత్తాన్ని ($ గుర్తు లేకుండా) మాత్రమే సంగ్రహించండి.
సూచనను చూపించు
పాజిటివ్ లుక్బిహైండ్ (?<=\\$) లోపల \\$ని తరలించండి: ఒక స్థానం పరిస్థితి, మ్యాచ్లో భాగం కాదు.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం సమీక్షించండి
అక్షరం లేదా అంకె (అంటే, 'ఐసోలేటెడ్' సంఖ్యలు, `abc123` వంటి కోడ్ భాగాలు కాదు) ముందు లేని అంకెల ప్రతి క్రమాన్ని కనుగొనండి.
సూచనను చూపించు
ముందు అక్షరం లేదా అంకె ఉన్నప్పుడు మినహాయించడానికి వెనుకవైపు (?<!\\w) ప్రతికూల రూపాన్ని ఉపయోగించండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
అదనపు సవాలు
Find only the digits of negative numbers (digits preceded by the `-` sign), excluding the minus sign from the match.
సూచనను చూపించు
మైనస్ గుర్తును తరలించండి - వెనుకవైపు పాజిటివ్ లుక్ లోపల (?<=-).
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది