Classes de caracteres
Já falei sobre classes de caracteres no tutorial de curingas. Porém, você verá esse assunto
em mais detalhes nesse tutorial. Apenas para relembrar: classes de caracteres são especificadas entre colchetes e
permitem casar com apenas um caractere. E o hífen é usado para especificar um intervalo dentro delas. Exemplos:
[ae]
casa com a ou e, d[ae]
casa com da ou de.
Alguns intervalos especiais:
- [a-z]
- Letras minúsculas
- [A-Z]
- Letras maiúsculas
- [A-z]
- Letras
- [0-9]
- Dígitos
Observe que os intervalos de letras (como [a-z]
) nem sempre casam com caracteres acentuados, com
trema, til ou outros caracteres do gênero, que vamos chamar nos tutoriais de caracteres especiais. Isso varia de
acordo com cada engine. Em algumas engines, uma solução para o problema pode ser usar a seguinte classe de
caracteres: [À-ÿ]
. Para casar com todas as letras: [A-zÀ-ÿ]
.
Essa falta de compatibilidade com caracteres especiais se aplica também a outros elementos de expressões
regulares, como o class shorthand \w
, que será explicado em maiores detalhes mais tarde, mas
basicamente, casa com qualquer caractere que a engine entenda que possa fazer parte de uma palavra. Algumas
engines podem não colocar caracteres especiais nessa lista de caracteres.
Eu recomendo sempre procurar informações e fazer testes com a engine com a qual você vai trabalhar, para ver se ela suporta caracteres especiais, principalmente se você estiver fazendo um site ou uma library ou um programa qualquer onde seja necessário suportá-los. Caso contrário, você pode descobrir que a sua engine não suporta caracteres especiais ou oferece um suporte parcial apenas quando o seu site já estiver sendo acessado ou o seu programa ou library estiver sendo usado.