JavaScript replace методдаги регуляр ифодалардаги суғъурбалар

Replace методда, ўз рақамларингиз билан суғъурбалардан ташқари, ҳар доим қуйидаги стандарт суғъурбалар ҳам мавжуд: %vFran - топилган мосликнинг ҳаммаси, $` ва $' - мосликдан олдин ва кейинги қисмлар. Келинг, улар билан ишлашни мисолларда кўрамиз.

Мисол

Келинг, ҳамма рақамларни топиб, уларни айлана ёзиқ қавс ичига оламиз:

javascriptlet str = '1 23 456';
let res = str.replace(/\d+/g, '(%vFran)');

Натижада ўзгарувчига қуйидагилар ёзилади:

javascript'(1) (23) (456)'

Мисол

Келинг, @ белгисини топиб, уни ўзидан олдин турган, ўзи ва кейин турган нарсалар билан алмаштирамиз. Ҳаммасини айлана ёзиқ қавс ичига ёзамиз:

javascriptlet str = '123@456';
let res = str.replace(/@/g, "($`@$')");

Натижада ўзгарувчига қуйидагилар ёзилади:

javascript'123(123@456)456'

Мисол

Фароз қилайлик, биз долларни топиб, уни `` қошиқ қавслар ичига олмоқчимиз. Бунда, $` буйруқ сифатида англанмаслиги учун, долларни икки марта такрорлаш керак:

javascriptlet str = 'aaa $ bbb';
let res = str.replace(/\$/g, '`$$`');

Натижада ўзгарувчига қуйидагилар ёзилади:

javascript'aaa `$` bbb'

Амалий масалалар

Задание 1

Берилган сатр:

javascriptlet str = 'a1b2c3';

Ҳар бир рақам ёнига ўзига ўхшаш рақамни ёзадиган регуляр ифода ёзинг.

Задание 2

Берилган сатр:

javascriptlet str = 'sss site.ru zzz site.com kkk';

Доменларни қуйидаги кўринишдаги ҳаволаларга алмаштиринг:

html<a href="http://site.ru">site.ru</a>