JavaScriptтегин регулярдык выражениелериндеги replace методунун кармандары
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' түрүнө өзгөртүңүз.