Џебови во методот replace во регуларните изрази во JavaScript
При работа со методот replace, ако
нешто го ставиме во џеб во регуларниот израз, тогаш
во низата за замена можеме да го вметнеме содржината
на тој џеб со пишување на знакот долар $
и бројот на џебот. На пример, $1 - првиот
џеб, $2 - вториот џеб и така натаму.
Зошто ова е потребно и како да се користи, ајде да погледнеме на примери.
Пример
Ајде да ги најдеме сите броеви и наместо нив да вметнеме ги истите тие броеви, но во заградни. За ова сите пронајдени броеви ќе ги замениме со нив самите, но во загради:
let str = '1 23 456 xax';
let res = str.replace(/(\d+)/g, '($1)');
Како резултат во променливата ќе се запише следново:
'(1) (23) (456) xax'
Пример
Ајде да ги најдеме сите низи кои претставуваат
броеви со иксови околу и да ги замениме овие
броеви со нив самите, но со '!' знаци околу:
let str = 'x1x x23x x456x xax';
let res = str.replace(/x(\d+)x/g, '!$1!');
Како резултат во променливата ќе се запише следново:
'!1! !23! !456! xax'
Пример
Ајде да ја решиме следнава задача: дадени се низи
од видот 'aaa@bbb' - букви, потоа знак за мончиња,
потоа букви. Треба да се заменат местата на буквите
пред @ и после.
let str = 'aaa@bbb ccc@ddd';
let res = str.replace(/([a-z]+)@([a-z]+)/g, '$2@$1');
Како резултат во променливата ќе се запише следново:
'bbb@aaa ddd@ccc'
Практични задачи
Дадена е низа:
let str = '12 34 56 78';
Сменете ги местата на цифрите во сите двоцифрени броеви.
Дадена е низа со датум:
let str = '31.12.2025';
Претворете го овој датум во '2025.12.31'.