Dilib, module RegExp

De Wicri Outils
LogoDilib.gif
Panneau travaux.png
Bibliothèque Dilib (ressources numériques)
Module RegExp

Le module RegExp contient des outils de base pour traiter des expressions régulières.

 

Les expressions régulières manipulées par RegExp

Le module RegExp est en fait une interface vers les fonctions de l'interface unix <regex.h> (regular-expression library).

Voir notamment : http://manpagesfr.free.fr/man/man7/regex.7.html

Le type RegExp

Un type RegExp a été introduit pour faciliter l'accès aux fonctions de base d'unix.

Exemple introductif

L'exemple qui suit montre comment repérer un nombre dans une chaîne de caractères.

RegExp *numberRe;
char   *numberStr;

  ...

numberRe  = RegExpCreate("[0-9]*[.]?[0-9][0-9]*");
numberStr = RegExpExtract(numberRe, "pi is equal to 3.14 I presume...");
if(numberStr) 
   {
       printf("%s0",numberStr); /* imprime 3.14 */
       free(numberStr);
   } 
else printf("no number in this sentence");

RegExpFree(numberRe);
  • le constructeur RegExpCreate crée un objet interne qui contient la forme compilée de l'expression donnée en paramètre.
  • la fonction RegExpExtract teste l'expression régulière et retourne la chaîne reconnue.