Une regex est toujours entourés de caractères spéciaux appelés délimiteurs. Par exemple #
Les principaux caractères permettant de décrire ces expressions régulières sont décris ci-dessous :
-
* : répète de 0 à n fois le motif précédent ce caractère (lettre facultative)
-
+ : répète de 1 à n fois le motif précédent ce caractère (lettre obligatoire)
-
? : rend facultatif le motif précédent ce caractère (on parle aussi de répétition de 0 à 1 fois)
-
{n} : répète exactement n fois le motif précédent
-
^ : désigne le début d’un chemin
-
$ : désigne la fin d’un chemin
-
[abc] : exprime un choix à faire parmi les caractères a, b ou c
-
[a-z] : exprime un choix à faire parmi les minuscules
-
[a-zA-Z0-9] : exprime un choix à faire parmi les caractères alphanumériques
-
[^def] : tous les caractères sauf les caractères d, e et f
-
. : correspond à n’importe quel caractère
-
\. : correspond au caractère “.” (le \ permet d’échapper un caractère spécial)
Ainsi, si la racine du système est le répertoire /var/www, les exemples suivants correspondent à :
-
“users” : tous les chemins à partir de /var/www qui contiennent la chaîne users
-
“^users” : tous les chemins commençant par /var/www/users
-
“users[0-9]{4} : tous les chemins commençant par /var/www, contenant la chaîne users suivie de 4 chiffres.
Autres exemples :
-
#guitare# : cherche guitare
-
#guitare#i : cherche guitare en ne prenant pas en compte la casse
-
#guitare|piano# : cherche guitare ou panio
-
{3,5} : on peut avoir la lettre de 3 à 5 fois.
-
{3,} : cela signifie « 3 fois ou plus ».
-
/(?=.*[a-z]+)(?=.*[A-Z]+)(?=.*[0-9]+)/ : la chaîne doit contenir au moins une minuscule, une majuscule et un chiffre, dans n’importe quel ordre