Grupy przechwytujące w metodzie replace w wyrażeniach regularnych JavaScript

Podczas pracy z metodą replace, jeśli umieścimy coś w grupie przechwytującej w wyrażeniu regularnym, w ciągu zastępczym możemy wstawić zawartość tej grupy wpisując znak dolara $ i numer grupy. Na przykład, $1 - pierwsza grupa, $2 - druga grupa i tak dalej.

Po co to jest potrzebne i jak z tego korzystać, zobaczmy na przykładach.

Przykład

Znajdźmy wszystkie liczby i zamiast nich wstawmy te same liczby, ale w nawiasach okrągłych. W tym celu wszystkie znalezione liczby będziemy zastępować nimi samymi, ale w nawiasach:

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

W rezultacie do zmiennej zostanie zapisane następujące:

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

Przykład

Znajdźmy wszystkie ciągi znaków reprezentujące liczby z iksami wokół i zamieńmy te liczby na nie same, ale z '!' znakami wokół:

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

W rezultacie do zmiennej zostanie zapisane następujące:

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

Przykład

Rozwiążmy następujące zadanie: dane są ciągi znaków typu 'aaa@bbb' - litery, potem małpa, potem litery. Należy zamienić miejscami litery przed @ i po.

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

W rezultacie do zmiennej zostanie zapisane następujące:

javascript'bbb@aaa ddd@ccc'

Zadania praktyczne

Задание 1

Dany jest ciąg znaków:

javascriptlet str = '12 34 56 78';

Zamień miejscami cyfry we wszystkich dwucyfrowych liczbach.

Задание 2

Dany jest ciąg znaków z datą:

javascriptlet str = '31.12.2025';

Przekształć tę datę na '2025.12.31'.