ప్రధాన కంటెంట్‌కు వెళ్లండి
మాడ్యూల్ 7 · 4లో పాఠం 2కోర్సులో 26/32~10 min
మాడ్యూల్ పాఠాలు (2/4)

ప్రాథమిక భర్తీ మరియు `$1`

జావాస్క్రిప్ట్‌లో, String.prototype.replace(regex, replacement) నిర్వహిస్తుంది a నమూనా సరిపోలిక మరియు ప్రతి మ్యాచ్‌ని ఇచ్చిన స్ట్రింగ్‌తో భర్తీ చేస్తుంది. gతో ఫ్లాగ్ ఇది అన్ని మ్యాచ్‌లను భర్తీ చేస్తుంది; అది లేకుండా, మొదటిది మాత్రమే. replaceAll ప్రపంచ ప్రవర్తనను బలవంతం చేస్తుంది (మరియు రీజెక్స్‌లో g ఫ్లాగ్ అవసరం).

JS
'ciao mondo'.replace(/o/g, '0'); // "cia0 m0nd0"
'Mario Rossi'.replace(/(\w+) (\w+)/, '$2 $1'); // "Rossi Mario"

భర్తీ స్ట్రింగ్‌లోని సూచనలు

రీప్లేస్‌మెంట్ స్ట్రింగ్ లోపల, ఇవి ప్రత్యేకమైనవి:

  • $1, $2, \u2026 -- రీజెక్స్ యొక్క సంఖ్యా సమూహంకి బ్యాక్‌రిఫరెన్స్.
  • $<name> -- పేరున్న సమూహానికి బ్యాక్‌రిఫరెన్స్.
  • $& -- మొత్తం మ్యాచ్.
  • `$`` -- text before the match.
  • $' -- text after the match.
  • $$ -- a single literal $.
JS
const data = '2024-03-15';
data.replace(/(\d{4})-(\d{2})-(\d{2})/, '$3/$2/$1');
// "15/03/2024"

ఆర్డర్‌ను విలోమం చేయడం ద్వారా తేదీని మళ్లీ ఫార్మాట్ చేయండి. రెజెక్స్‌లో 3 గ్రూపులు ఉన్నాయి మరియు ఇందులో రీప్లేస్‌మెంట్ స్ట్రింగ్ మీరు వాటిని $1, $2, $3గా సూచిస్తారు.

భర్తీలో ప్రత్యేక సూచనలు

$1 మరియు $2తో పాటు, మీరు మొత్తం సరిపోలిన వచనాన్ని చొప్పించడానికి $&ని ఉపయోగించవచ్చు, $ for all text preceding the match, and$'` దాన్ని అనుసరించే అన్ని వచనాల కోసం. ఇది JS కోడ్ రాయకుండా కూడా రిచ్ రీప్లేస్‌మెంట్‌లను అనుమతిస్తుంది.

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

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

మూడు సమూహాలతో (సంవత్సరం, నెల, రోజు) YYYY-MM-DD ఆకృతిలో ప్రతి తేదీని కనుగొనండి. ఈ విధంగా మీరు DD/MM/YYYYని పొందేందుకు భర్తీని ఉపయోగించవచ్చు.

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

(...)తో సంగ్రహించబడిన మూడు సమూహాల లోపల \\d+ని \\d{4}, \\d{2}, \\d{2}తో భర్తీ చేయండి.

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

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

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

`nome` మరియు `cognome` అనే రెండు పేరుగల సమూహాలుగా 'మొదటి చివరి'ని కనుగొనండి, కాబట్టి మీరు దాన్ని `$<cognome>, $<nome>` ఉపయోగించి `cognome, nome` అని తిరిగి వ్రాయవచ్చు.

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

\\s+తో వేరు చేయబడిన (?<nome>\\w+) మరియు (?<cognome>\\w+) ఉపయోగించండి.

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

అదనపు సవాలు

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

Create a capture pattern to reverse the order of first and last name from `Lastname, Firstname` format to `Firstname Lastname`.

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

Use two capture groups for last and first name; the replacement will be performed via $2 $1.

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