Regex quick reference
[abc]A single character: a, b or c
[^abc]Any single character but a, b, or c
[a-z]Any single character in the range a-z
[a-zA-Z]Any single character in the range a-z or A-Z
^Start of line
$End of line
\AStart of string
\zEnd of string
.Any single character
\sAny whitespace character
\SAny non-whitespace character
\dAny digit
\DAny non-digit
\wAny word character (letter, number, underscore)
\WAny non-word character
\bAny word boundary character
(…)Capture everything enclosed
(a|b)a or b
a?Zero or one of a
a*Zero or more of a
a+One or more of a
a{3}Exactly 3 of a
a{3,}3 or more of a
a{3,6}Between 3 and 6 of a
options: i case insensitive m make dot match newlines x ignore whitespace in regex o perform #{…} substitutions only once
Vérifier si une chaine de caractère contient des chiffres
if(preg_match('#[0-9]#', "Je contiens quelques chiffres 0 1 2 3 ")) echo "VRAI cette chaine contient des chiffres"; else echo "FAUX il n'y a pas de chiffres dans cette chaine";
S’assurer qu’une chaine ne contienne QUE des lettres de l’alphabet ou des chiffres ou des tirets ou des tirets bas.
if(!preg_match('#[^a-zA-Z0-9_-]#', "toto")) echo "VRAI ma chaine est conforme, il n'y a rien d'autre que des lettres, chiffres, tiret ou tiret bas"; else echo "FAUX ma chaine contient un caractère non autorisé!!!";