Poches dans la méthode replace des expressions régulières JavaScript

Lorsqu'on utilise la méthode replace, si nous mettons quelque chose dans une poche (groupe de capture) dans l'expression régulière, dans la chaîne de remplacement nous pouvons insérer le contenu de cette poche en écrivant le signe dollar $ suivi du numéro de la poche. Par exemple, $1 - la première poche, $2 - la deuxième poche et ainsi de suite.

Voyons à quoi cela sert et comment l'utiliser à travers des exemples.

Exemple

Trouvons tous les nombres et remplaçons-les par ces mêmes nombres, mais entre parenthèses. Pour cela, tous les nombres trouvés seront remplacés par eux-mêmes, mais entre parenthèses :

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

En conséquence, la variable contiendra ce qui suit :

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

Exemple

Trouvons toutes les chaînes représentant des nombres entourés de 'x' et remplaçons ces nombres par eux-mêmes, mais entourés de signes '!' :

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

En conséquence, la variable contiendra ce qui suit :

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

Exemple

Résolvons le problème suivant : il y a des chaînes de la forme 'aaa@bbb' - des lettres, puis un arobase, puis des lettres. Nous devons inverser les lettres avant le @ et après.

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

En conséquence, la variable contiendra ce qui suit :

javascript'bbb@aaa ddd@ccc'

Problèmes pratiques

Задание 1

Soit une chaîne :

javascriptlet str = '12 34 56 78';

Inversez les chiffres dans tous les nombres à deux chiffres.

Задание 2

Soit une chaîne avec une date :

javascriptlet str = '31.12.2025';

Convertissez cette date en '2025.12.31'.