-- C-x C-+ -- Un code de produit de la forme A-C [A-C] -- Correspond à A B C Mais pas à AA ABC autre -- Code de produit de la forme :, où -- produit = A-C -- version = 1-3 [A-C][1-3] -- Correspond à A1 B3 C1 A2 -- mais pas à A11 AC2 B 45 -- Code de produit de la forme , où -- produit = A-C -- version = 1-3 -- sous-vers = +,- [A-C][1-3][+-] -- Correspond à A1+ B3- C2+ C2- -- Ne correspond pas à A1 A B4+ b3- -- Code comme le précédent, mais avec des ':' comme séparateur. [A-C]:[1-3]:[+-] -- Correspond à A:1:+ B:3:- C:2:+ C:2:- -- Ne correspond pas à A1+ A:2- B:4:+ b:3:- -- Code comme le précédent, mais avec des '.' comme séparateur. [A-C]\.[1-3]\.[+-] -- Correspond à A.1.+ B.3.- C.2.+ C.2.- -- Ne correspond pas à A1+ A.2- B.4.+ b.3.- Ax1y+ A\.1\.+ -- Code comme le précédent, mais avec des '/' comme séparateur. [A-C]/[1-3]/[+-] -- Correspond à A/1/+ B/3/- C/2/+ C/2/- -- Ne correspond pas à A1+ A/2- B:4/+ b/3:- -- Code comme le précédent, mais avec des '\' comme séparateur. [A-C]\\[1-3]\\[+-] -- Correspond à A\1\+ B\3\- C\2\+ C\2\- -- Ne correspond pas à A1+ A\2- B\4:+ b/3\- -- Nombre entier. Un nombre est une suite non-vide ne débutant -- pas par 0 sauf s'il s'agit de 0. 0|[1-9][0-9]* -- Correspond par exemple à 0 3 15 2789 20120123 -- mais pas à 03 A123 +12 -- Nombre entier préfixé possiblement par + ou -. [+-]?(0|[1-9][0-9]*) -- Correspond par exemple à 123 +123 -123 +0 -0 -- Mais pas à +-123 +03 -00 -- Nombre entier préfixé possiblement par + ou -, sauf 0 qui ne peut -- jamais être précédé d'un signe. 0|([+-]?[1-9][0-9]*) -- Correspond par exemple à 123 +123 -123 0 -- Mais pas à +-123 +0 -0 -- Nombre décimal. -- Un entier signé possiblement suivi d'une -- partie décimale (introduite par un '.'). S'il y a un point, il doit être -- suivi d'au moins un chiffre. (0|([+-]?[1-9][0-9]*))(\.[[:digit:]]+)? -- Correspond à 123.4 0.123 -123.4 +123.4 -- Mais pas à 123. .123 -- Entier en format hexadécimal. -- 0x suivi des chiffres hexadécimaux 0-9, a-f, A-F. 0x([[:digit:]a-fA-F])+ -- Correspond à 0x0 0x123 0x1F 0x2d 0x1Aa -- Ne correspond pas à Ox123 0x1G -- Entier 32 bits en format hexadécimal. -- 0x suivi des chiffres hexadécimaux 0-9, a-f, A-F. Il doit y avoir exactement -- 8 tels chiffres. 0x([[:digit:]a-fA-F]){8} -- Correspond à 0x00000000 0x1230FFFF 0x1FA1FA23 -- Ne correspond pas à 0x2d 0x1Aa -- Entier en format hexadécimal. -- 0x suivi des chiffres hexadécimaux 0-9, a-f, A-F. -- Ne plus permettre de mélanger les a-f avec les A-F. Donc toutes les -- lettres sont soient minuscules, soient majuscules. 0x([[:digit:]a-f]+|[[:digit:]A-F]+) -- Ne correspond pas à 0x1aA -- Nombre en notation scientifique. -- Un chiffre suivi possiblement d'un '.' et d'au moins un autre chiffre, -- le tout suivi par x10^ -- et terminé par un exposant qui est un entier possiblement préfixé par un -- '-'. [[:digit:]](\.[[:digit:]]+)?x10\^-?[[:digit:]]+ -- Correspond à 3x10^0 3.0x10^1 3.0x10^18 5.5678x10^-3 5.5678x10^-12 -- Ne correspond pas à 3.x10^0 3.0x10^+5 5.678 5.678x10 5.678x10^