Ҷайбҳо дар усули replace дар регулярҳои JavaScript

Ҳангоми кор бо усули replace, агар мо чизеро ба ҷайб дар регуляр бигузорем, он гоҳ дар сатри ивазкунӣ мо метавонем мундариҷаи ин ҷайбро бо навиштани аломати доллар $ ва рақами ҷайб ворид кунем. Масалан, $1 - ҷайби аввал, $2 - ҷайби дуюм ва ҳамин тавр.

Ин ба чӣ лозим аст ва чӣ гуна аз он истифода барем биёед дар мисолҳо бинем.

Мисол

Биёед ҳамаи ададҳо ёбем ва ба ҷои онҳо ворид кунем ҳамин ададҳоро, аммо дар қавсҳои давра. Барои ин ҳамаи ададҳои ёфташударо мо ба ҳамин ададҳо иваз мекунем, аммо дар қавсҳо:

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

Дар натиҷа ба тағирёбандаи зерин сабт мешавад:

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

Мисол

Биёед ҳамаи сатрҳоро, ки ададҳоро бо иксҳо дар атроф нишон медиҳанд, ёбем ва ин ададҳоро ба ҳамин ададҳо иваз кунем, аммо бо аломатҳои '!' дар атроф:

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

Дар натиҷа ба тағирёбандаи зерин сабт мешавад:

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

Мисол

Биёед вазифаи зеринро ҳал кунем: сатрҳои намуди 'aaa@bbb' дода шудаанд - ҳарфҳо, сипас аломати @, сипас ҳарфҳо. Лозим аст ҷойҳои ҳарфҳо пеш аз @ ва баъд аз он иваз карда шаванд.

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

Дар натиҷа ба тағирёбандаи зерин сабт мешавад:

javascript'bbb@aaa ddd@ccc'

Вазифаҳои амалӣ

Задание 1

Сатр дода шудааст:

javascriptlet str = '12 34 56 78';

Ҷойҳои рақамҳоро дар ҳамаи ададҳои дурақама иваз кунед.

Задание 2

Сатр бо сана дода шудааст:

javascriptlet str = '31.12.2025';

Ин санаро ба '2025.12.31' табдил диҳед.