⊗jsSpRERDP 128 of 294 menu

Capturas padrão no método replace em expressões regulares JavaScript

No método replace, além das capturas com seus próprios números, também estão sempre disponíveis capturas padrão: %vFran - toda a correspondência encontrada, e - a parte da string antes e depois da correspondência. Vamos ver o funcionamento com elas em exemplos.

Exemplo

Vamos encontrar todos os números e envolvê-los em parênteses curvos:

let str = '1 23 456'; let res = str.replace(/\d+/g, '(%vFran)');

Como resultado, o seguinte será armazenado na variável:

'(1) (23) (456)'

Exemplo

Vamos encontrar o símbolo @ e substituí-lo por o que está antes dele, o arroba, e o que está depois dele. Tudo isso vamos colocar entre parênteses curvos:

let str = '123@456'; let res = str.replace(/@/g, "( @ )");

Como resultado, o seguinte será armazenado na variável:

'123(123@456)456'

Exemplo

Suponha que queremos encontrar um cifrão e envolvê-lo em aspas ``. Neste caso, para que não fosse interpretado como um comando, o cifrão precisa ser duplicado:

let str = 'aaa $ bbb'; let res = str.replace(/\$/g, '`$`');

Como resultado, o seguinte será armazenado na variável:

'aaa `$` bbb'

Problemas práticos

Dada a string:

let str = 'a1b2c3';

Escreva uma expressão regular que, ao lado de cada dígito, escreva o mesmo dígito.

Dada a string:

let str = 'sss site.ru zzz site.com kkk';

Substitua os domínios por links como:

<a href="http://site.ru">site.ru</a>
daenbnplnl