Falando sobre Expressões Regulares: Eu quero um Ponto Literal e ponto final!
E aí pessoas!
Estou de volta pra falar um pouco mais sobre os metacaracteres nas expressões regulares.
A missão de hoje é criar uma regex que dê match com o domínio do blog: “www.devsv.com.br”.
Deixem eu me adiantar e mostrar de vez uma solução:
Viram? Simples demais!
Tá bom… Tá bom… Até imagino o que estão pensando. E têm razão, o ponto é um curinga, portanto, essa regex bate com strings do tipo:
Muito bom! Estão espertos! Parabéns!
Agora temos um problema pra resolver. O ponto deve ser literalmente um ponto e não qualquer coisa.
Será que não tem como transformar o ponto em um caractere literal?
Sim, é plenamente possível! E é exatamente o que vamos fazer com a ajuda de um novo metacaractere, a \
(barra invertida).
A barra invertida é usada para escapar metacaracteres. “Escapar”, neste contexto, significa algo como “tornar literal um caractere especial”. A sintaxe é simples, basta colocar a barra invertida imediatamente à esquerda do metacaractere que queremos escapar. Pro nosso caso, \.
.
Bora colocar a barra invertida antes dos pontos e ver o que acontece:
Ahá! Missão dada, missão cumprida!
Como viram, com a barra invertida na frente, o ponto bateu apenas com ponto. O mesmo vale pra qualquer outro metacaractere, inclusive a própria barra invertida. Isto mesmo, pra bater com “\”, usa-se a regex \\
.
Pra fechar, deixo a versão atualizada da tabela com os metacaracteres que vimos até agora:
Metacaractere | Nome | Função |
---|---|---|
. | ponto | captura qualquer caractere |
[ ] | colchetes ou lista | captura qualquer um dos caracteres listados |
\ | barra invertida | torna literal o metacaractere à sua direita |
No próximo post, começaremos a explorar melhor o poder das expressões regulares com metacaracteres quantificadores.
Valeu pessoas! Até a próxima!
Falou…