Vaikimisi taskud replace meetodis JavaScripti regulaaravaldistes
Replace meetodis, lisaks teie poolt numbriga määratud
taskutele, on alati kättesaadavad ka standardsed
taskud: %vFran - kogu leitud vastavus,
$` ja $' - osa stringist enne ja
pärast vastavust. Vaatame nendega töötamist
näidete varal.
Näide
Leiame kõik numbrid ja paneme need ümarsulgudesse:
let str = '1 23 456';
let res = str.replace(/\d+/g, '(%vFran)');
Tulemusena kirjutatakse muutujasse järgmine:
'(1) (23) (456)'
Näide
Leiame sümboli @ ja asendame selle sellega, mis on selle ees, koeraga, ja sellega, mis on selle järel. Kõik kirjutame ümarsulgudes:
let str = '123@456';
let res = str.replace(/@/g, "($`@$')");
Tulemusena kirjutatakse muutujasse järgmine:
'123(123@456)456'
Näide
Oletame, et tahame leida dollari märgi ja panna selle
jutumärkidesse ``. Sel juhul, et
$ ei mõistetaks käsuna,
tuleb dollarit kahekordistada:
let str = 'aaa $ bbb';
let res = str.replace(/\$/g, '`$$`');
Tulemusena kirjutatakse muutujasse järgmine:
'aaa `$` bbb'
Praktilised ülesanded
Antud string:
let str = 'a1b2c3';
Kirjutage regulaaravaldis, mis iga numbri kõrvale kirjutab sama numbri.
Antud string:
let str = 'sss site.ru zzz site.com kkk';
Asendage domeenid linkidega kujul:
<a href="http://site.ru">site.ru</a>