Žepi v metodi replace v regularnih izrazih JavaScript

Pri delu z metodo replace, če nekaj damo v žep v regularnem izrazu, lahko v nadomestni niz vstavimo vsebino tega žepa tako, da napišemo znak dolarja $ in številko žepa. Na primer, $1 - prvi žep, $2 - drugi žep in tako naprej.

Zakaj je to potrebno in kako se tega posluževati, poglejmo na primerih.

Primer

Poiščimo vse številke in namesto njih vstavimo iste številke, vendar v okroglih oklepajih. Za to bomo vse najdene številke zamenjali z njimi samimi, vendar v oklepajih:

javascriptlet str = '1 23 456 xax';
let res = str.replace(/(\d+)/g, '($1)');

Kot rezultat se bo v spremenljivko zapisalo naslednje:

javascript'(1) (23) (456) xax'

Primer

Poiščimo vse nize, ki predstavljajo številke z 'x' okoli in zamenjajmo te številke z njimi samimi, vendar z '!' znaki okoli:

javascriptlet str = 'x1x x23x x456x xax';
let res = str.replace(/x(\d+)x/g, '!$1!');

Kot rezultat se bo v spremenljivko zapisalo naslednje:

javascript'!1! !23! !456! xax'

Primer

Rešimo naslednjo nalogo: dani so nizi oblike 'aaa@bbb' - črke, potem znak @, nato črke. Zamenjati je treba mesti črk pred @ in za.

javascriptlet str = 'aaa@bbb ccc@ddd';
let res = str.replace(/([a-z]+)@([a-z]+)/g, '$2@$1');

Kot rezultat se bo v spremenljivko zapisalo naslednje:

javascript'bbb@aaa ddd@ccc'

Praktične naloge

Задание 1

Dan je niz:

javascriptlet str = '12 34 56 78';

Zamenjajte mesti števk v vseh dvomestnih številkah.

Задание 2

Dan je niz z datumom:

javascriptlet str = '31.12.2025';

Pretvorite ta datum v '2025.12.31'.