Available in

(1f) (3) (3)/es (3)/fr (3)/ja (3)/pt (5) (7) (7)/es (7)/fr (7)/it (7)/ja (7)/pt (7)/zh_CN (7)/zh_TW

TOC

REGEX(3)                  Manuel du programmeur Linux                 REGEX(3)



NOM

       regcomp,  regexec, regerror, regfree - Fonctions POSIX pour les expres-
       sions rationnelles ( regex )

SYNOPSIS

       #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

   Compilation d'expressions rationnelles POSIX
       regcomp() est utilise pour compiler une expression rationnelle sous une
       forme utilisable par la suite pour des recherches avec regexec().

       On  fournit  regcomp() les arguments preg, un pointeur vers une zone de
       stockage du motif, regex, un pointeur vers une  chane  termine  par  un
       caractre  nul,  et  cflags, les attributs indiquant le type de compila-
       tion.

       Toutes  les  recherches  d'expressions  rationnelles   sont   effectues
       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 symbol-
       iques suivantes :

       REG_EXTENDED
              Utiliser  la  syntaxe d'expression rationnelle tendue POSIX pour
              interprter regex. Sinon, la syntaxe d'expression rationnelle  de
              base POSIX est utilise.

       REG_ICASE
              Ne pas diffrencier les majuscules des minuscules. Les recherches
              regexec() suivantes utilisant le tampon de motif  n'effectueront
              pas la diffrenciation.

       REG_NOSUB
              Ne   pas   utiliser  les  correspondances  de  sous-chanes.  Les
              paramtres nmatch et pmatch de regexec() sont ignors si le tampon
              de motif est compil avec cet attribut.

       REG_NEWLINE
              L'oprateur  "n'importe-quel-caractre" ne s'identifie pas avec le
              saut de ligne.

              Une liste d'exceptions ([^...]) ne  contenant  pas  de  saut  de
              ligne ne s'identifie pas avec un saut de ligne.

              L'oprateur  dbut-de-ligne  (^)  s'identifie  avec une chane vide
              suivant immdiatement un saut de ligne, mme si l'attribut  eflags
              de regexec() contient REG_NOTBOL.

              L'oprateur  fin-de-ligne  ($)  s'identifie  avec  une chane vide
              prcdant immdiatement un saut de ligne, mme si l'attribut  eflags
              contient REG_NOTEOL.

   Correspondance d'expressions rationnelles POSIX
       regexec()  est  utilise pour mettre en correspondance une chane termine
       par un caractre nul, avec le tampon de motif prcompil preg.  nmatch  et
       pmatch fournissent des informations concernant l'emplacement des corre-
       spondances. eflags peut tre un OU binaire entre les constantes REG_NOT-
       BOL  ou  REG_NOTEOL  qui modifient le comportement de la mise en corre-
       spondance dcrite ci-dessous.

       REG_NOTBOL
              L'oprateur dbut-de-ligne choue toujours (mais  voyez  l'attribut
              de  compilation  REG_NEWLINE  ci-dessus).  Cet attribut peut tre
              utilis quand diffrentes portions  d'une  chane  sont  transmises
              regexec()  et que le dbut de la chane ne correspond pas  un dbut
              de ligne.

       REG_NOTEOL
              L'oprateur fin-de-ligne choue toujours (mais voyez l'attribut de
              compilation REG_NEWLINE ci-dessus)

   Dcalage d'octets
        moins  que  l'attribut REG_NOSUB n'ait t utilis lors de la compilation
       du motif, il est possible d'obtenir des informations sur les correspon-
       dances  de  sous-chanes.  pmatch  doit tre dimensionne pour contenir au
       moins nmatch lments. Ils sont remplis par regexec() avec  les  adresses
       des  sous-chanes  mises en correspondance. Tous les lments inutiliss de
       structure contiendront la valeur -1.

       La structure regmatch_t du type pmatch est dfinie dans <regex.h>.

           typedef struct {
               regoff_t rm_so;
               regoff_t rm_eo;
           } regmatch_t;

       Chaque lment rm_so diffrent de -1 indique  le  point  de  dpart  de  la
       sous-chane  suivante  la  plus  longue qui soit mise en correspondance.
       L'lment rm_eo indique le dcalage de la fin de la  sous-chane,  qui  est
       l'emplacement du premier caractre aprs le texte qui correspond.

   Retours d'erreurs POSIX
       regerror()  est  utilis pour transformer les codes d'erreur renvoys par
       regcomp() et par regexec() en libells.

       regerror() reoit le code errcode, le tampon de motif preg, un  pointeur
       sur  une  chane  de  caractres errbuf, et la longueur maximale de cette
       chane errbuf_size. Cette fonction renvoie la  taille  errbuf  ncessaire
       pour  contenir le libell d'erreur termin par un caractre nul. Si errbuf
       et errbuf_size son non nuls, errbuf est rempli avec les errbuf_size - 1
       premiers caractres du libell d'erreur, suivis d'un caractre nul.

   Libration des tampons de motifs POSIX
       En  fournissant  regfree() un tampon de motif prcompil preg, il librera
       la mmoire alloue au tampon durant la compilation avec regcomp().

VALEUR RENVOYE

       regcomp() renvoie zro si la compilation russit, ou un code d'erreur  en
       cas d'chec.

       regexec()  renvoie  zro  si la correspondance russit, et REG_NOMATCH si
       elle choue.

ERREURS

       Les erreurs suivantes peuvent tre dclenches par regcomp() :

       REG_BADBR
              Utilisation illgale de l'oprateur de rfrence inverse.

       REG_BADPAT
              Utilisation illgale d'un oprateur du type groupe ou liste.

       REG_BADRPT
              Utilisation invalide d'oprateurs de rptition, comme un  caractre
               *  en premire place.

       REG_EBRACE
              Accolade manquante.

       REG_EBRACK
              Crochet manquant.

       REG_ECOLLATE
              lment de classement invalide.

       REG_ECTYPE
              Nom de classe de caractre inconnu.

       REG_EEND
              Erreur non spcifique. Elle n'est pas dfinie par POSIX.2.

       REG_EESCAPE
              Barre oblique inverse de fin.

       REG_EPAREN
              Parenthse manquante.

       REG_ERANGE
              Utilisation  illgale de l'oprateur d'intervalle. Par exemple, la
              fin de l'intervalle est infrieure au dbut de l'intervalle.

       REG_ESIZE
              La compilation aurait besoin d'un tampon de taille suprieure  64
              Ko. Ce n'est pas dfini par POSIX.2.

       REG_ESPACE
              Les routines regex ont puis la mmoire.

       REG_ESUBREG
              Rfrence inverse illgale vers une sous-expression.

CONFORMIT

       POSIX.1-2001.

VOIR AUSSI

       grep(1), regex(7), Manuel GNU pour les expressions rationnelles

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.07 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies    peuvent    tre    trouves     l'adresse    http://www.ker-
       nel.org/doc/man-pages/.

TRADUCTION

       Cette page de manuel a t traduite et mise  jour par  Christophe  Blaess
       <http://www.blaess.fr/christophe/>;  entre  1996 et 2003, puis par Alain
       Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006, et mise  disposi-
       tion sur http://manpagesfr.free.fr/.

       Les  mises   jour et corrections de la version prsente dans Debian sont
       directement gres par Nicolas Franois <nicolas.francois [AT] centraliens.net>
       et l'quipe francophone de traduction de Debian.

       Veuillez    signaler    toute   erreur   de   traduction   en   crivant
       <debian-l10n-french [AT] lists.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez toujours avoir accs  la version anglaise de ce document en
       utilisant la commande  man -L C <section> <page_de_man> .



GNU                               29 mai 2008                         REGEX(3)

COMMENTS

1
Hello!!!


I think your work great. Congratulations. I wanted make a source that extracted email of the text using RegeX...do you know make do it?

Can you help?

Thanks
2008-01-08 19:19:01
Bruno Araújo
Add your comment here. Whitespace and linebreaks are preserved. URLs are linked automatically.
CAPTCHA

No HTML allowed. URLs will be linked with nofollow attribute. Whitespace is preserved.