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
\A
Start of string
\z
End of string
.
Any single character
\s
Any whitespace character
\S
Any non-whitespace character
\d
Any digit
\D
Any non-digit
\w
Any word character (letter, number, underscore)
\W
Any non-word character
\b
Any 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é!!!";