முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
தொகுதி 7 · பாடம் 2 இன் 4பாடத்திட்டத்தில் 26/32~10 min
தொகுதி பாடங்கள் (2/4)

அடிப்படை மாற்று மற்றும் `$1`

JavaScript இல், String.prototype.replace(regex, replacement) ஒரு பேட்டர்ன் பொருத்தம் மற்றும் கொடுக்கப்பட்ட சரத்துடன் ஒவ்வொரு பொருத்தத்தையும் மாற்றுகிறது. 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 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்