JavaScript replace методдаги регуляр ифодалардаги суғъурбалар
Replace методда, ўз рақамларингиз билан суғъурбалардан ташқари, ҳар доим қуйидаги стандарт суғъурбалар ҳам мавжуд: %vFran - топилган мосликнинг ҳаммаси,
$` ва $' - мосликдан олдин ва кейинги қисмлар. Келинг, улар билан ишлашни мисолларда кўрамиз.
Мисол
Келинг, ҳамма рақамларни топиб, уларни айлана ёзиқ қавс ичига оламиз:
let str = '1 23 456';
let res = str.replace(/\d+/g, '(%vFran)');
Натижада ўзгарувчига қуйидагилар ёзилади:
'(1) (23) (456)'
Мисол
Келинг, @ белгисини топиб, уни ўзидан олдин турган, ўзи ва кейин турган нарсалар билан алмаштирамиз. Ҳаммасини айлана ёзиқ қавс ичига ёзамиз:
let str = '123@456';
let res = str.replace(/@/g, "($`@$')");
Натижада ўзгарувчига қуйидагилар ёзилади:
'123(123@456)456'
Мисол
Фароз қилайлик, биз долларни топиб, уни `` қошиқ қавслар ичига олмоқчимиз. Бунда, $` буйруқ сифатида англанмаслиги учун, долларни икки марта такрорлаш керак:
let str = 'aaa $ bbb';
let res = str.replace(/\$/g, '`$$`');
Натижада ўзгарувчига қуйидагилар ёзилади:
'aaa `$` bbb'
Амалий масалалар
Берилган сатр:
let str = 'a1b2c3';
Ҳар бир рақам ёнига ўзига ўхшаш рақамни ёзадиган регуляр ифода ёзинг.
Берилган сатр:
let str = 'sss site.ru zzz site.com kkk';
Доменларни қуйидаги кўринишдаги ҳаволаларга алмаштиринг:
<a href="http://site.ru">site.ru</a>