Sous-routine re_comp ou re_exec

Objectif

Gestionnaire d'expressions régulières.

Bibliothèque

Bibliothèque C standard (libc.a)

Syntaxe

char *re_comp( String)
const char *String;
int re_exec(String)
const char *String;

Descriptif

Attention: N'utilisez pas la sous-routine Re_comp ou Re_exec dans un environnement à unités d'exécution multiples.

La sous-routine Re_comp compile une chaîne dans un formulaire interne adapté à la correspondance de modèles. La sous-routine Re_exec vérifie la chaîne d'arguments par rapport à la dernière chaîne transmise à la sous-routine Re_comp .

La sous-routine Re_comp renvoie 0 si la chaîne pointée par le paramètre Chaîne a été compilée avec succès ; sinon, une chaîne contenant un message d'erreur est renvoyée. Si la sous-routine Re_comp est transmise 0 ou une chaîne vide, elle renvoie sans modifier l'expression régulière compilée.

Le sous-programme re_exec renvoie 1 si la chaîne indiquée par le paramètre String correspond à la dernière expression régulière compilée, 0 si la chaîne indiquée par le paramètre String ne correspond pas à la dernière expression régulière compilée, et -1 si l'expression régulière compilée n'est pas valide (ce qui indique une erreur interne).

Les chaînes transmises aux sous-routines Re_comp et Re_exec peuvent contenir des caractères de nouvelle ligne de fin ou de fin ; elles sont arrêtées par des valeurs nulles. Les expressions régulières reconnues sont décrites dans l'entrée manuelle de la commande Ed , compte tenu de la différence ci-dessus.

Paramètres

Article Descriptif
Chaîne Pointe vers une chaîne à mettre en correspondance ou à compiler.

Valeurs renvoyées

En cas d'erreur, le sous-programme re_exec renvoie une adresse -1, tandis que le sous-programme re_comp renvoie l'une des chaînes de caractères suivantes :

  • Aucune expression régulière précédente
  • Expression régulière trop longue
  • Sans correspondance \ (
  • Manquant ]
  • Trop de paires \ (\)
  • Sans correspondance \)