Oii Mateus, como você está? Espero que esteja bem ^-^
Alguns caracteres na regex
possuem significados diferentes, por exemplo:
- O ponto serve para dizermos que queremos representar qualquer caracter.
- O parênteses serve para extrairmos um determinado grupo de caracteres em uma string.
Portanto, quando queremos utilizar esses caracteres com o seu valor literal, ou seja, que signifique realmente um ponto, utilizamos o símbolo da barra invertida para escapar esse caractere para que ele assuma seu valor original, por isso no código você pôde observar o trecho: \.
Vamos a um exemplo prático:
Imagine a seguinte regex(com a barra invertida):
\w{2,50}@\w{2,15}\.[a-z]{2,3}\.?([a-z]{2,3})?
Da forma como está acima, se utilizarmos a string: "mateus@alura.com"
, este e-mail será capturado. Porém, se utilizamos a string: "mateus@alura;com"
, este e-mail não será capturado, pois, o que se espera é um ponto após o provedor do e-mail.
Agora, imagine a seguinte regex(sem a barra invertida):
\w{2,50}@\w{2,15}.[a-z]{2,3}.?([a-z]{2,3})?
Neste caso, quando utilizamos a string "mateus@alura.com"
, ela será capturada. Porém, se utilizarmos a string "mateus@alura;com"
ela também será capturada e nesse caso, isso acontece porque o ponto está significando qualquer caracter .
Para testar o que foi dito, você pode entrar no site do Regex101 e preencher os dados da expressão regular juntamente a string de teste, como mostro na imagem abaixo:
Qualquer dúvida estou por aqui, tá bom?
Grande abraço!