Les classes de caractères POSIX
Généralités
POSIX définit un ensemble de classes de caractères, accessibles grâce à des mnémoniques plutôt que des définitions exhaustives ou des plages de caractères.
Ces classes prennent parfois en compte la langue utilisée lors de la recherche de correspondance, et permettent une plus grande portabilité des programmes et scripts dans différentes langues.
Elles remplacent une plage de caractères, et doivent être utilisées en tant que telle.
Leur syntaxe est la suivante :
Syntaxe
[:classe:]
Exemple
/[-+[:lower:][:digit:]]/
Cette commande sous l’éditeur ex permettra de rechercher (/ ... /) les caractères -, +, les lettres minuscules ([:lower:]) et les chiffres décimaux ([:digit:]).
Pour que les caractères internationaux soient reconnus et pris en compte dans la gestion des classes de caractères, il faut que le paquet contenant les fichiers de gestion des caractères internationaux soit installé, et que les variables associées soient convenablement configurées : voir un exemple d’installation en annexe.
Les classes POSIX
1. [:alpha:]
Cette classe désigne les caractères alphabétiques, minuscules ou majuscules, c’est-à-dire les lettres de a à z et de A à Z, ainsi que les éventuels caractères étendus si le système utilise un jeu de caractères internationaux possédant des extensions. En français, les caractères accentués tels que é, è, ê, ë, à, ù, ô, ç, ... sont reconnus comme faisant partie de la classe de caractères alphabétiques.
Cette notation désigne généralement un plus grand nombre de caractères que la syntaxe [a-zA-Z].
2. [:lower:]
Cette classe désigne les caractères alphabétiques minuscules.
3. [:upper:]
Cette classe désigne les caractères alphabétiques majuscules.
4. [:alnum:]
Cette classe désigne les caractères alphabétiques minuscules et majuscules, ainsi que les chiffres décimaux (de 0 à 9).
5. [:digit:]
Cette classe désigne les chiffres décimaux de 0 à 9.
6. [:xdigit:]
Cette classe désigne les caractères hexadécimaux, minuscules ou majuscules, soient les chiffres de 0 à 9, les lettres de a à f et de A à F.
7. [:space:]
Cette classe désigne les espaces divers et séparateurs de lignes...