Výchozí zachytávací skupiny v metodě replace v regulárních výrazech JavaScriptu
V metodě replace, kromě zachytávacích skupin s vašimi
čísly, jsou vždy k dispozici také standardní
zachytávací skupiny: %vFran - celá nalezená shoda,
a
- část řetězce před a
po shodě. Podívejme se na jejich práci
na příkladech.
Příklad
Najdeme všechna čísla a obalíme je kulatými závorkami:
let str = '1 23 456';
let res = str.replace(/\d+/g, '(%vFran)');
Výsledek v proměnné bude následující:
'(1) (23) (456)'
Příklad
Najdeme znak @ a nahradíme jej tím, co je před ním, psem, a tím, co je za ním. Vše zapíšeme v kulatých závorkách:
let str = '123@456';
let res = str.replace(/@/g, "(
@
)");
Výsledek v proměnné bude následující:
'123(123@456)456'
Příklad
Předpokládejme, že chceme najít dolar a obalit jej
uvozovkami ``. V tomto případě, aby
nebyl pochopen jako příkaz,
dolar je třeba zdvojit:
let str = 'aaa $ bbb';
let res = str.replace(/\$/g, '`$`');
Výsledek v proměnné bude následující:
'aaa `
bbb'
Praktické úlohy
Je dán řetězec:
let str = 'a1b2c3';
Napište regulární výraz, který vedle každé číslice napíše stejnou.
Je dán řetězec:
let str = 'sss site.ru zzz site.com kkk';
Nahraďte domény odkazy ve tvaru:
<a href="http://site.ru">site.ru</a>