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 masa
eb
). - 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 aa
e-
.
Mais informações podem ser encontradas na página man em POSIX
regex
(obrigado Tomalak Geret'kal!)