Quase todos os metacaracteres (incluindo o ponto
. , o + , * e ? quantificadores, a âncora de fim de string $ , etc.) não têm significado especial em classes de caracteres, com algumas exceções notáveis:- colchete de fechamento
], por motivos óbvios - acento circunflexo
^, que é usado para negar a classe de caractere (por exemplo:[^ab]corresponde a qualquer caractere masaeb). - hífen
-, que é usado para denotar um intervalo (por exemplo:[0-9]corresponde a qualquer dígito)
No entanto, eles ainda podem ser adicionados sem escapar se colocados em locais estratégicos dentro da classe de personagem:
- o colchete de fechamento pode ser colocado logo após o colchete de abertura, por exemplo:
[]a]corresponde a]oua. - o acento circunflexo pode ser colocado em qualquer lugar, menos após o colchete de abertura, por exemplo:
[a^]corresponde a^oua - o hífen pode ser colocado logo após o colchete de abertura ou antes do colchete de fechamento, por exemplo:
[-a]e[a-]ambos correspondem aae-.
Mais informações podem ser encontradas na página man em POSIX
regex
(obrigado Tomalak Geret'kal!)