Tasche predefinite nel metodo replace delle espressioni regolari in JavaScript
Nel metodo replace, oltre alle tasche con i tuoi
numeri, sono sempre disponibili anche le tasche
standard: %vFran - l'intera corrispondenza trovata,
$` e $' - la parte della stringa prima e
dopo la corrispondenza. Vediamo come funzionano
con degli esempi.
Esempio
Troviamo tutti i numeri e racchiudiamoli tra parentesi tonde:
let str = '1 23 456';
let res = str.replace(/\d+/g, '(%vFran)');
Di conseguenza, nella variabile verrà scritto quanto segue:
'(1) (23) (456)'
Esempio
Troviamo il simbolo @ e sostituiamolo con ciò che lo precede, la chiocciola, e ciò che viene dopo di esso. Scriviamo tutto tra parentesi tonde:
let str = '123@456';
let res = str.replace(/@/g, "($`@$')");
Di conseguenza, nella variabile verrà scritto quanto segue:
'123(123@456)456'
Esempio
Supponiamo di voler trovare il dollaro e racchiuderlo
tra virgolette `. In questo caso, affinché
$ non venga interpretato come un comando,
il dollaro deve essere raddoppiato:
let str = 'aaa $ bbb';
let res = str.replace(/\$/g, '`$$`');
Di conseguenza, nella variabile verrà scritto quanto segue:
'aaa `$` bbb'
Problemi pratici
Data una stringa:
let str = 'a1b2c3';
Scrivi un'espressione regolare che accanto a ogni cifra scriva la stessa cifra.
Data una stringa:
let str = 'sss site.ru zzz site.com kkk';
Sostituisci i domini con link come:
<a href="http://site.ru">site.ru</a>