JavaScriptтегин регулярдык выражениелериндеги replace методунун кармандары

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' түрүнө өзгөртүңүз.