Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Classe RegExp

Fiz um teste direto no console do Chrome e me surgiu uma dúvida. Inseri o código...

var test1 = new RegExp("(\d\d)(\w)", "g");
//Resultado -> /(dd)(w)/g

var test2 = new RegExp("(\\d\\d)(\\w)", "g");
//Resultado -> /(\d\d)(\w)/g

Minha dúvida é se, na declaração da expressão através de uma classe, devemos inserir duas barras invertidas "\", (para dar o resultado que deu na variável 'test2')?

2 respostas

a primeira das duas barras invertidas é para vc escapar a expressão.. já que \d quer dizer que vc espera digitos.. na classe funcionaria do mesmo jeito.

solução!

Fala aí Emerson, blz?

Então nesse caso precisamos inserir duas barras pois a barra por si só dentro de uma string é um caracter de escape ou em conjunto com algumas outras letras pode ter um valor especial. Por exemplo \n para quebra de linha.

Quando fazemos \\ estamos usando a primeira barra para escapar o próximo caracter que é uma barra também.