IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Boost C++ Discussion :

BOOST::REGEX une expression qui passe pas.


Sujet :

Boost C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 39
    Par défaut BOOST::REGEX une expression qui passe pas.
    J'utilise la bibliotheque BOOST:REGEX pour coder un parser en C++ .

    Mon parseur fonctionne bien , mais lorsque j'essaye d'utiliser cette expression :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^([^\s]+)\s+\d+\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+\w+\/(\d+)\s+\d+\s+(\w+)\s+(\w+)\:\/\/?([^\:\/\?\s]+):?(\d*)(\S*)\s*.*?\[.*Referer:*(.*?)\\r.*$
    avec un fichier contenant ce genre de ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1237084031.249    985 10.0.0.1 TCP_MISS/200 37567 GET http://monsite.information.com/index.mas?epl=00960031UlsNZ0sAVVETVRBeHgsJRz5WClgAXlIFXAQTTEsJAFcGA1IADVUABEdRPQpcWFELVAFAUwxYVggPW1RVXQlUC1JdDF0XBlxZ - ROUNDROBIN_PARENT/10.10.10.10 text/html [Connection: Close\r\nCache-Control: no-cache,no-store\r\nPragma: No-Cache\r\nAccept: */*\r\nHost: monsite.information.com\r\nUser-Agent: XXXX/X.X (Update: XXXX X.X; UNIX)\r\nProxy-Connection: Keep-Alive\r\n] [HTTP/1.1 200 OK\r\nDate: Sun, 15 Mar 2009 02:27:10 GMT\r\nServer: Oversee Webserver v1.3.18\r\nSet-Cookie: ident=click:0%257csearch:0%257cexitpop:0%257ctoken:vqzyyyprxutxyvqs%257clload:0%257clvisit:1237084030; path=/; expires=Mon, 16-Mar-2009 02:27:10 GMT\r\nSet-Cookie: monsite.com=click:0%257csearch:0%257cexitpop:0%257clload:0%257clvisit:1237084030; path=/; expires=Mon, 16-Mar-2009 02:27:10 GMT\r\nSet-Cookie: Spusr=ac15000c6b3f49bc677e9c0b; path=/; expires=Tue, 15-Mar-11 02:27:10 GMT\r\nCache-control: private, no-cache, must-revalidate\r\nExpires: Mon, 26 Jul 1997 05:00:00 GMT\r\nPragma: no-cache\r\nP3P: policyref="http://monsite.information.com/w3c/p3p.xml", CP="NOI DSP COR ADMa OUR NOR STA"\r\nConnection: close\r\nContent-Type: text/html\r\n\r]
    ET j'obtiens le message d'erreure suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error> >'
      what():  Memory exhausted
    Abandon
    Par contre , si j'enlève la fin de cette regex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ?\[.*Referer:*(.*?)\\r.*
    Ca fonctionne parfaitement , mais bon du coup , je n'ai pas le dernier champs dont j'ai besoin ......

    J'ai essayé cette expression dans un script perl et tout fonctionne parfaitement et tres rapidement .

    Pouvez vous m'aidez ?
    Si c'est boost qui ne comprend pas cette syntaxe , existe-t-il un moyen de faire autrement pour avoir le même resultat , une autre regex peut être ?
    Merci d'avance .

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Ce genre de trucs, tu ferais mieux de les remonter directement à boost. L'auteur de la bibliothèque sera bien plus apte à répondre.

  3. #3
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810

Discussions similaires

  1. Une expression qui ne match pas ?
    Par krusty dans le forum Langage
    Réponses: 3
    Dernier message: 27/03/2007, 14h55
  2. Réponses: 2
    Dernier message: 07/03/2006, 01h53
  3. [MySQL] un echo qui passe pas ^^
    Par Le Mage Noir dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 09/02/2006, 15h05
  4. [Oracle 9.i] Requête qui passe pas
    Par ftrifiro dans le forum Langage SQL
    Réponses: 7
    Dernier message: 20/12/2005, 17h32
  5. une comparaison qui marche pas.
    Par gandf dans le forum C++Builder
    Réponses: 7
    Dernier message: 16/02/2004, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo