Standard lommer i replace-metoden med regulære udtryk i JavaScript
I replace-metoden, udover lommer med dine
egne numre, er der altid tilgængelige standard
lommer: %vFran - hele det fundne match,
$` og $' - delen af strengen før og
efter matchet. Lad os se på deres funktion
med eksempler.
Eksempel
Lad os finde alle tal og indpakke dem i runde parenteser:
let str = '1 23 456';
let res = str.replace(/\d+/g, '(%vFran)');
Resultatet i variablen vil være følgende:
'(1) (23) (456)'
Eksempel
Lad os finde tegnet @ og erstatte det med det, der står før det, hunden, og det, der står efter det. Alt dette skal skrives i runde parenteser:
let str = '123@456';
let res = str.replace(/@/g, "($`@$')");
Resultatet i variablen vil være følgende:
'123(123@456)456'
Eksempel
Lad os sige, at vi vil finde dollartegnet og indpakke det
i anførselstegn ``. I dette tilfælde, for at
$` ikke bliver opfattet som en kommando,
skal dollartegnet fordobles:
let str = 'aaa $ bbb';
let res = str.replace(/\$/g, '`$$`');
Resultatet i variablen vil være følgende:
'aaa `$` bbb'
Praktiske opgaver
Der gives en streng:
let str = 'a1b2c3';
Skriv et regulært udtryk, der ved siden af hvert cifre skriver det samme cifre.
Der gives en streng:
let str = 'sss site.ru zzz site.com kkk';
Erstat domæner med links af typen:
<a href="http://site.ru">site.ru</a>