Retourner aux forums || Retourner au forum Programmation.c

Programmation.c : Des regex, oui mais pas trop

Posté par Adrien BUSTANY (Jabber id, page perso, ) le 07 juillet 2005
0
Salut forum.
Je me prends la tête depuis pas mal de temps sur un problème tout débile. J'utilise la lib pcre pour scanner une chaîne de caractère. Mes expressions ont été testées sous perl et passent à pcre_compile sans problème. Le problème, c'est que je n'arrive pas à faire gober la règle en entier à PCRE.
Ma chaine est from 10.0.0.1:10.0.0.10 port 56:58 to 10.0.1.100:10.0.1.110 port 80:90 (une règle de firewall).
^from \\s+ (\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}) ( \\s+ : (\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}) )? (\\s+ port \\d+ (:\\d+)? )?
Cette règle matche donc bien. Par contre celle là :
^from \\s+ (\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}) ( \\s+ : (\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}) )? (\\s+ port \\d+ (:\\d+)? )? \\s ne matche plus, pas plus que toute autre avec quelque chose de plus que la première.
Je ne vois vraiment pas la raison.

> Lire le message (1 commentaire, moyenne: 1).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Précision

Posté par Adrien BUSTANY (Jabber id, page perso, ) le 07/07/2005 à 14:46. (lien). Évalué à 1.

L'erreur PCRE est la suivante :
PCRE_ERROR_NULL (-2)

Either code or subject was passed as NULL, or ovector was NULL and
ovecsize was not zero.

alors que pcre_compile ne revoie aucune erreur !!!

Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.c