Standard lommer i replace-metoden i JavaScript regex
I replace-metoden, i tillegg til lommer med dine
egne numre, er alltid standard lommer tilgjengelige:
%vFran - hele funnet treff,
og - del av strengen før og
etter treffet. La oss se på arbeidet
med dem med eksempler.
Eksempel
La oss finne alle tall og omslutte dem i runde parenteser:
let str = '1 23 456';
let res = str.replace(/\d+/g, '(%vFran)');
Som et resultat vil følgende bli skrevet inn i variabelen:
'(1) (23) (456)'
Eksempel
La oss finne tegnet @ og erstatte det med det som står foran det, hunden, og det som står etter det. Alt dette skal skrives i runde parenteser:
let str = '123@456';
let res = str.replace(/@/g, "(@)");
Som et resultat vil følgende bli skrevet inn i variabelen:
'123(123@456)456'
Eksempel
La oss si at vi ønsker å finne dollartegnet og omslutte det
i anførselstegn ``. I dette tilfellet, for at
ikke skal bli oppfattet som en kommando,
må dollartegnet dobles:
let str = 'aaa $ bbb';
let res = str.replace(/\$/g, '`$`');
Som et resultat vil følgende bli skrevet inn i variabelen:
'aaa `$` bbb'
Praktiske oppgaver
Gitt en streng:
let str = 'a1b2c3';
Skriv et regulært uttrykk som ved siden av hvert tall skriver samme tall.
Gitt en streng:
let str = 'sss site.ru zzz site.com kkk';
Erstatt domenene med lenker av typen:
<a href="http://site.ru">site.ru</a>