Capturas por defecto en el método replace en expresiones regulares JavaScript
En el método replace, además de las capturas con sus
números, también siempre están disponibles las capturas
estándar: %vFran - toda la coincidencia encontrada,
y - la parte de la cadena antes y
después de la coincidencia. Veamos su funcionamiento
con ejemplos.
Ejemplo
Encontremos todos los números y envolvámoslos entre paréntesis redondos:
let str = '1 23 456';
let res = str.replace(/\d+/g, '(%vFran)');
Como resultado, se guardará lo siguiente en la variable:
'(1) (23) (456)'
Ejemplo
Encontremos el símbolo @ y reemplacémoslo por lo que está delante de él, la arroba, y lo que está después de él. Escribamos todo esto entre paréntesis redondos:
let str = '123@456';
let res = str.replace(/@/g, "(@)");
Como resultado, se guardará lo siguiente en la variable:
'123(123@456)456'
Ejemplo
Supongamos que queremos encontrar el dólar y envolverlo
entre comillas ``. En este caso, para que
no sea interpretado como un comando,
el dólar debe duplicarse:
let str = 'aaa $ bbb';
let res = str.replace(/\$/g, '`$`');
Como resultado, se guardará lo siguiente en la variable:
'aaa `$` bbb'
Problemas prácticos
Se da la siguiente cadena:
let str = 'a1b2c3';
Escriba una expresión regular que escriba al lado de cada dígito el mismo dígito.
Se da la siguiente cadena:
let str = 'sss site.ru zzz site.com kkk';
Reemplace los dominios por enlaces del tipo:
<a href="http://site.ru">site.ru</a>