Zsebek a replace metódusban a JavaScript reguláris kifejezéseiben

A replace metódus használatakor, ha berakunk valamit egy zsebbe a reguláris kifejezésben, akkor a csere sztringjében beilleszthetjük ennek a zsebnek a tartalmát a dollár jel $ és a zseb sorszáma megadásával. Például, $1 - az első zseb, $2 - a második zseb és így tovább.

Hogy mire jó ez és hogyan kell használni, nézzük meg példákon.

Példa

Keressük meg az összes számot és cseréljük ki őket ugyanazokra a számokra, de zárójelben. Ehhez az összes megtalált számot lecseréljük magukra, de zárójelben:

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

Ennek eredményeképpen a változóba a következő íródik:

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

Példa

Keressük meg az összes olyan sztringet, amely számokat reprezentál körülvéve 'x'-ekkel, és cseréljük ki ezeket a számokat magukra, de '!' jelekkel körülvéve:

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

Ennek eredményeképpen a változóba a következő íródik:

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

Példa

Oldjuk meg a következő feladatot: adottak 'aaa@bbb' formájú sztringek - betűk, majd @ jel, majd betűk. Fel kell cserélni a @ jel előtti és utáni betűket.

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

Ennek eredményeképpen a változóba a következő íródik:

javascript'bbb@aaa ddd@ccc'

Gyakorlati feladatok

Задание 1

Adott egy sztring:

javascriptlet str = '12 34 56 78';

Cserélje fel a számjegyeket az összes kétjegyű számban.

Задание 2

Adott egy dátum sztring:

javascriptlet str = '31.12.2025';

Alakítsa át ezt a dátumot '2025.12.31' formátumra.