Кішэні ў метадзе replace у рэгулярках JavaScript
Пры працы з метадам replace, калі
мы што-то пакладзем у кішэню ў рэгулярцы, то
ў радку замены мы можам уставіць змесціва
гэтай кішэні напісаўшы знак долара $
і нумар кішэні. Напрыклад, - першая
кішэня, - другая кішэня і гэтак далей.
Навошта гэта трэба і як гэтым карыстацца давайце паглядзім на прыкладах.
Прыклад
Давайце знойдзем усе лікі і замест іх уставім гэтыя ж лікі, але ў круглых дужках. Для гэтага ўсе знойдзеныя лікі мы будзем заменяць на іх саміх жа, але ў дужках:
let str = '1 23 456 xax';
let res = str.replace(/(\d+)/g, '($1)');
У выніку ў зменную запiшацца наступнае:
'(1) (23) (456) xax'
Прыклад
Давайце знойдзем усе радкі, якія прадстаўляюць
сабой лікі з іксамі вакол і заменім гэтыя
лікі на іх жа, але з '!' знакамі вакол:
let str = 'x1x x23x x456x xax';
let res = str.replace(/x(\d+)x/g, '!$1!');
У выніку ў зменную запiшацца наступнае:
'!1! !23! !456! xax'
Прыклад
Давайце вырашiм наступную задачу: дадзены радкі
выгляду 'aaa@bbb' - літары, потым сабачка,
потым літары. Трэба памяняць месцамі літары
да @ і пасля.
let str = 'aaa@bbb ccc@ddd';
let res = str.replace(/([a-z]+)@([a-z]+)/g, '$2@$1');
У выніку ў зменную запiшацца наступнае:
'bbb@aaa ddd@ccc'
Практычныя задачы
Дадзены радок:
let str = '12 34 56 78';
Паманяйце месцамі лічбы ва ўсіх двухзначных ліках.
Дадзены радок з датай:
let str = '31.12.2025';
Пераўтварыце гэтую дату ў '2025.12.31'.