i : ne prend pas en compte la cassem : recherche multiligne (pour les assertions ^ et $)s : le caractère jocker (.) peut valider une fin de ligneD : fin de chaîne seulementU : recherche non gloutonnesu : recherche en UTF-8 (activé tout le temps)((?i) ) pour les parenthèses capturantes ; (?i ) pour les parenthèses non-capturantes
. \ + * ? [ ^ ] $ ( ) { } = ! < > | :
. : n'importe quel caractère\d : chiffre décimal (\D : non-chiffre décimal)\w : lettre (\W : non-lettre)\s : espace blanc (\S : non-espace blanc)\b : délimitation de mot (\B : non-délimitation de mot)\z : fin de ligne ou de chaîne (\Z : non-fin de ligne ou de chaîne)[[:lower:]] : lettre minuscule[[:upper:]] : lettre majuscule[[:alpha:]] : caractère alphanumérique[[:digit:]] : chiffre décimal[[:xdigit:]] : chiffre hexadécimal[[:alnum:]] : chiffre ou lettre[[:alnum:]] : caractère ascii compris entre 0 et 127[[:blank:]] : espace ou tabulation[[:cntrl:]] : caractère de contrôle[[:punct:]] : caractère imprimable sauf chiffre/lettre[[:graph:]] : caractère imprimable sauf espace[[:print:]] : caractère imprimable (espace compris)[[:space:]] : espace blanc[ ] ; les classes standards peuvent être abrégées avec un tiret a-z, 0-9 ou des restrictions de ceux-ci ; un tiret dans une classe doit être précédé de \ ou être placé à la fin.[^ ] pour les personnalisées et [[:^nom:]] pour les classes prédéfinies.
* : nombre quelconque d'occurence [0,+∞[? : au plus une fois [0,1]+ : au moins une fois [1,+∞[{x} : exactement x fois{x,} : au moins x fois [x, +∞[{,x} : au plus x fois [0,x]{x,y} : entre x et y fois [x,y](?= ) : assertion sur l'équivalence de la suite(?! ) : assertion sur la non-équivalence de la suite(?<= ) : assertion sur l'équivalence de ce qui précède(?<! ) : assertion sur la non-équivalence de ce qui précède( ).(?: ).$1, $2, ... avec l'indice de l'élément capturé par ordre d'ouverture des parenthèses.$0.