## Métacaractères

La puissance des expressions régulières provient de leur capacité à autoriser des alternatives et des quantificateurs de répétition dans le masque. Ils sont encodés dans le masque par des métacaractères, qui ne représentent pas ce qu'ils sont, mais sont interprétés d'une certaine manière.

Il y a deux sortes de métacaractères : ceux qui sont reconnus n'importe où dans un masque, hormis entre crochets, et ceux qui sont reconnus entre crochets. À l'extérieur des crochets, les métacaractères sont :

Métacaractère en dehors des crochets
Métacaractère | Description
--- | ---
\ | Caractère d'échappement, avec de multiples usages
^ | Le début de la chaîne sujet (ou de ligne, en mode multilignes)
$ | La fin de la chaîne sujet ou avant la fin d'une nouvelle ligne (ou fin de ligne, en mode multilignes)
. | Remplace n'importe quel caractère, hormis le caractère de nouvelle ligne (par défaut)
[ | Caractère de début de définition de classe
] | Caractère de fin de définition de classe
| | Caractère de début d'alternative
( | Caractère de début de sous-masque
) | Caractère de fin de sous-masque
? | Étend le sens de (; quantificateur de 0 ou 1; quantificateur de minimisation (Voir les répétitions)
* | Quantificateur de 0 ou plus
+ | Quantificateur de 1 ou plus
{ | Caractère de début de quantificateur minimum/maximum
} | Caractère de fin de quantificateur minimum/maximum

La partie du masque qui est entourée de crochets est appelée classe de caractères. Dans les classes de caractères, les seuls métacaractères autorisés sont :

Meta-characters dans des crochets (classes de caractères)
Métacaractère | Description
--- | ---
\ | Caractère de protection, avec de multiples usages
^ | Négation de la classe, mais uniquement si placé tout au début de la classe
- | Indique un intervalle de caractères

La section suivante décrit l'utilisation de chaque métacaractère.