Gruppi nel metodo replace delle espressioni regolari JavaScript

Quando si lavora con il metodo replace, se mettiamo qualcosa in un gruppo (cattura) nell'espressione regolare, nella stringa di sostituzione possiamo inserire il contenuto di questo gruppo scrivendo il simbolo del dollaro $ e il numero del gruppo. Ad esempio, $1 - il primo gruppo, $2 - il secondo gruppo e così via.

Vediamo a cosa serve e come usarlo con degli esempi.

Esempio

Troviamo tutti i numeri e al loro posto inseriamo questi stessi numeri, ma tra parentesi tonde. Per fare ciò sostituiremo tutti i numeri trovati con loro stessi, ma tra parentesi:

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

Di conseguenza, nella variabile verrà memorizzato quanto segue:

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

Esempio

Troviamo tutte le stringhe che rappresentano numeri con delle 'x' attorno e sostituiamo questi numeri con loro stessi, ma con dei segni '!' attorno:

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

Di conseguenza, nella variabile verrà memorizzato quanto segue:

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

Esempio

Risolviamo il seguente problema: date delle stringhe del tipo 'aaa@bbb' - lettere, poi il simbolo @, poi lettere. Dobbiamo scambiare le lettere prima del @ e dopo.

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

Di conseguenza, nella variabile verrà memorizzato quanto segue:

javascript'bbb@aaa ddd@ccc'

Problemi pratici

Задание 1

Data una stringa:

javascriptlet str = '12 34 56 78';

Scambiate le cifre in tutti i numeri a due cifre.

Задание 2

Data una stringa con una data:

javascriptlet str = '31.12.2025';

Trasformate questa data in '2025.12.31'.