Catégories
Pense-bête

Regex ou expression régulière

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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *