Grupe u replace metodu u regularnim izrazima JavaScript
Kada radimo sa metodom replace, ako
nešto stavimo u grupu u regularnom izrazu, onda
u stringu zamene možemo umetnuti sadržaj
te grupe tako što napišemo znak dolara $
i broj grupe. Na primer, $1 - prva
grupa, $2 - druga grupa i tako dalje.
Zašto je ovo potrebno i kako se ovo koristi pogledajmo na primerima.
Primer
Nađimo sve brojeve i umesto njih umetnimo te iste brojeve, ali u oblićim zagradama. Za ovo sve pronađene brojeve ćemo zameniti sa njima samima, ali u zagradama:
let str = '1 23 456 xax';
let res = str.replace(/(\d+)/g, '($1)');
Kao rezultat u promenljivu će biti upisano sledeće:
'(1) (23) (456) xax'
Primer
Nađimo sve stringove koji predstavljaju
brojeve sa 'x' oko njih i zamenimo te
brojeve sa njima samima, ali sa '!' znacima oko:
let str = 'x1x x23x x456x xax';
let res = str.replace(/x(\d+)x/g, '!$1!');
Kao rezultat u promenljivu će biti upisano sledeće:
'!1! !23! !456! xax'
Primer
Rešimo sledeći zadatak: dati su stringovi
oblika 'aaa@bbb' - slova, pa '@' znak,
pa slova. Potrebno je zameniti mesta slovima
pre @ i posle.
let str = 'aaa@bbb ccc@ddd';
let res = str.replace(/([a-z]+)@([a-z]+)/g, '$2@$1');
Kao rezultat u promenljivu će biti upisano sledeće:
'bbb@aaa ddd@ccc'
Praktični zadaci
Dat je string:
let str = '12 34 56 78';
Zamenite mesta ciframa u svim dvocifrenim brojevima.
Dat je string sa datumom:
let str = '31.12.2025';
Pretvorite ovaj datum u '2025.12.31'.