Presque tous les métacaractères (y compris le point .
, le +
, *
et ?
quantificateurs, l'ancre de fin de chaîne $
, etc.) n'ont pas de signification particulière dans les classes de caractères, à quelques exceptions près :
- crochet fermant
]
, pour des raisons évidentes - caret
^
, qui est utilisé pour nier la classe de caractères (par exemple :[^ab]
correspond à n'importe quel caractère saufa
etb
). - trait d'union
-
, qui est utilisé pour désigner une plage (par exemple :[0-9]
correspond à n'importe quel chiffre)
Cependant, ceux-ci peuvent toujours être ajoutés sans s'échapper s'ils sont placés à des endroits stratégiques au sein de la classe de personnage :
- la parenthèse fermante peut être placée juste après la parenthèse ouvrante, par exemple :
[]a]
correspond à]
oua
. - le caret peut être placé n'importe où sauf après la parenthèse ouvrante, par exemple :
[a^]
correspond à^
oua
- le trait d'union peut être placé juste après la parenthèse ouvrante ou avant la parenthèse fermante, par exemple :
[-a]
et[a-]
les deux correspondent àa
et-
.
Plus d'informations peuvent être trouvées dans la page de manuel sur POSIX regex
(merci Tomalak Geret'kal !)