regex | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
NOM | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
SYNOPSIS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
#include <sys/types.h> #include <regex.h> int regcomp(regex_t *preg, const char *regex, int cflags); int regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags); size_t regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size); void regfree(regex_t *preg);
DESCRIPTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Compilation regex POSIX | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
On fournit à regcomp() les arguments preg, un pointeur vers une zone de stockage du motif, regex, un pointeur vers une chaîne terminée par un octet nul, et cflags, les attributs indiquant le type de compilation.
Toutes les recherches d'expressions régulières sont effectuées à travers la zone de motif compilé, ainsi regexec() doit toujours recevoir l'adresse d'un motif initialisé par regcomp().
cflags peut être un OU binaire entre une ou plusieurs constantes symboliques suivantes :
Une liste d'exceptions ([^...]) s'identifie avec le saut de ligne, même si elle ne le contient pas explicitement.
L'opérateur Début-de-ligne (^) s'identifie avec une chaîne vide suivant immédiatement un saut de ligne, même si l'attribut eflags, de regexec(), contient REG_NOTBOL.
L'opérateur Fin-de-ligne ($) s'identifie avec une chaîne vide précédant immédiatement un saut de ligne, même si l'attribut eflags contient REG_NOTEOL.
Correspondances regex POSIX | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Décalage d'octet | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
La structure regmatch_t du type pmatch est définie dans <regex.h> ainsi :
typedef struct { regoff_t rm_so; regoff_t rm_eo ; } regmatch_t;
Chaque élément rm_so différent de -1 indique le point de départ de la sous-chaîne suivante la plus longue qui soit mise en correspondance. Cette valeur est un décalage (offset) dans la chaîne. L'élément rm_eo indique le décalage de la fin de la sous-chaîne, qui est le décalage du premier caractère après le texte correspondant.
Retour d'erreur POSIX | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
regerror() reçoit le code errcode, le tampon de motif preg, un pointeur sur une chaîne de caractères errbuf, et la longueur maximale de cette chaîne errbuf_size. Cette fonction renvoie la taille errbuf nécessaire pour contenir le libellé d'erreur terminé par un octet nul. Si errbuf et errbuf_size son non nuls, errbuf est rempli avec les errbuf_size - 1 premiers caractères du libellé d'erreur, suivis d'un octet nul.
Libération du tampon de motif POSIX | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
VALEUR RENVOYÉE | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
regexec() renvoie zéro si la correspondance réussit, et REG_NOMATCH si elle échoue.
ERREURS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
CONFORMITÉ | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
VOIR AUSSI | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
TRADUCTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 6 novembre 1996 et révisée le 6 juin 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 regex ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Sommaire | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
Table des mots clés | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
REG_BADBR | ERREURS |
REG_BADPAT | ERREURS |
REG_BADRPT | ERREURS |
REG_EBRACE | ERREURS |
REG_EBRACK | ERREURS |
REG_ECOLLATE | ERREURS |
REG_ECTYPE | ERREURS |
REG_EEND | ERREURS |
REG_EESCAPE | ERREURS |
REG_EPAREN | ERREURS |
REG_ERANGE | ERREURS |
REG_ESIZE | ERREURS |
REG_ESPACE | ERREURS |
REG_ESUBREG | ERREURS |
REG_EXTENDED | Compilation regex POSIX |
REG_ICASE | Compilation regex POSIX |
REG_NEWLINE | Compilation regex POSIX |
REG_NOSUB | Compilation regex POSIX |
REG_NOTBOL | Correspondances regex POSIX |
REG_NOTEOL | Correspondances regex POSIX |