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:

imagem ilustrando matching da url do devsv

Viram? Simples demais!

Sou zica memo molecão!! Resolvi saporra rapidão!!

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:

imagem ilustrando matching da url do devsv e muito mais

Muito bom! Estão espertos! Parabéns!

Sabem como é, né? Eu só estava testando se estavam atentos!

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:

imagem ilustrando matching apenas da url do devsv

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:

MetacaractereNomeFunção
.pontocaptura qualquer caractere
[ ]colchetes ou listacaptura qualquer um dos caracteres listados
\barra invertidatorna 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…


Primeiros Metacaracteres (anterior) (próximo) Quantos deseja? Nenhum? Um? Ou mais?