Na resposta do exercício consta
\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2}
Porém fiz da seguinte forma e funcionou.
\d{2}\.\d{3}\.\d{3}/\d{4}-\d{2}
Coloquei "/\" ao invés de "\/\". Há algum problema?
Na resposta do exercício consta
\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2}
Porém fiz da seguinte forma e funcionou.
\d{2}\.\d{3}\.\d{3}/\d{4}-\d{2}
Coloquei "/\" ao invés de "\/\". Há algum problema?
Oi Emerson, boa pergunta.
A questao aqui é entender o que é caracter especial e o que não é na regex e na linguagem que voce estiver utilizando. O -
só é especial dentro de classes de caracteres (como em [0-9]
). No exemplo, ele está fora, então seria seguro não escapa-lo com a \
. Mas mal não faz, só gastou um caracter a mais.
Já a /
é um caso interessante. Na regex em si ela não costuma ter significado, por isso voce deixar de escapa-la com \
funcionou no seu caso. Mas em muitas linguagens (como JavaScript) a /
é usada como delimitador de regex na linguagem. Por exemplo:
// codigo javascript
var regex = /\d{2}/;
Nesse caso, se colocar uma /
no meio da regex vc vai ter problemas. Por isso escapamos com \
. Nao tanto pela regex em si, mas pq a linguagem usa esse caracter como delimitador.
Mas no proprio JavaScript, por exemplo, te permite criar uma regex a partir de uma string na classe RegExp. Ai nesse caso nao usamos a linguagem em si com seu delimitador /
então é possivel usar /
no meio sem problemas.
// codigo javascript
var regex = new RegExp("\d{2}/\d{2}");