Групе у методу replace у регуларним изразима JavaScript
При раду са методом replace, ако
нешто ставимо у групу у регуларном изразу, онда
у стрингу за замену можемо убацити садржај
те групе написавши знак долара $
и број групе. На пример, $1 - прва
група, $2 - друга група и тако даље.
Зашто је ово потребно и како се користи погледајмо на примерима.
Пример
Хајде да нађемо све бројеве и уместо њих убацимо те исте бројеве, али у заградама. За ово све пронађене бројеве ћемо заменити на њих саме, али у заградама:
let str = '1 23 456 xax';
let res = str.replace(/(\d+)/g, '($1)');
Као резултат у променљиву ће се уписати следеће:
'(1) (23) (456) xax'
Пример
Хајде да нађемо све стрингове који представљају
бројеве са 'x' око њих и заменимо те
бројеве њима самима, али са '!' знацима око:
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'.