Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1539 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Probleme boost regex

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme boost regex

n°1679317
sundevil
Posté le 30-01-2008 à 22:23:13  profilanswer
 

Bonjour,
 
Je débute avec la lib regex de boost et j'ai un problème que je n'arrive pas à résoudre. Voici mon code:
 

Code :
  1. regex reg("(a+)" );
  2.         smatch match;
  3.         page = "aaaaabaaaaaaaaaaaa";
  4.         cout << page << endl;
  5.         if (regex_match(page, match, reg, boost::match_default | boost::match_partial))
  6.         {
  7.                 cout << match[1] << "<br>" << endl;
  8.         }
  9.         else
  10.           cout << "match pas" << endl;


 
Si j'enlève le b, ma regexp marche. Mais moi, j'aimerais avoir chaque "aaa" dans une case de mon match.
 
Je n'arrive pas à voir d'ou viens l'erreur, si quelqu'un peut m'aider.
 
Merci.

mood
Publicité
Posté le 30-01-2008 à 22:23:13  profilanswer
 

n°1679400
Joel F
Real men use unique_ptr
Posté le 31-01-2008 à 08:55:50  profilanswer
 

C'est ta regex qui fait ce qu'on lui demande non ?
 
Et juste une question, tu as VRAIMENT besoin de regex ou un coup de tokenizer en suffirait il pas ?

n°1679433
sundevil
Posté le 31-01-2008 à 10:00:16  profilanswer
 

Bien sur que pour cette exemple, je n'ai pas forcement besoin de regexp, mais pour le programme que je veux faire, j'en aurai besoin.
 
J'essaye juste de piger par des exemples simples comment la lib marche.
 
Pour ce qui est de ma regexp (a+), elle devrais en théorie matcher tous les éléments ou il y a un "a" ou plus et vue que je n'ai pas précisé de limiteur de début ou de fin (^$), cette exemple devrais marché (en php, il marche par exemple :) )


Message édité par sundevil le 31-01-2008 à 10:00:32
n°1679653
Joel F
Real men use unique_ptr
Posté le 31-01-2008 à 13:42:31  profilanswer
 

ok :)
quid de tes options pour regex_match ?

n°1679959
sundevil
Posté le 31-01-2008 à 17:10:13  profilanswer
 

quid de mes options pour regex_match ?

n°1680060
sundevil
Posté le 31-01-2008 à 19:42:34  profilanswer
 

Ok, après une grosse lecture de la doc de boost et plusieurs tests, il s'avère que la fonction à utilisé est regex_search qui recherche dans la chaine (tandis qu'avec regex_match, la chaine doit être exact).
 
Si cela peut aidé quelqu'un d'autre ^^.

n°1744877
NounouRs
Non parce que c pas mon pied !
Posté le 11-06-2008 à 15:47:24  profilanswer
 

J'ai un bug de fou avec boost::regex
 
Une erreur se produit lors de l'instanciation d'une expression reguliere boost (1.35)
 
Dans les 2 cas suivants :
boost::regex reg_toto;
reg_toto.set_expression("toto" ); // erreur
 
 
boost::regex reg_toto("toto" ); // erreur
 
 
Unhandled exception at 0x00e19a86 in XXXXXXX.exe: 0xC0000005: Access violation reading location 0xfffffffe.
 
et le debogueur se plante en plein xutility
 
 
C'est pile poil l'exemple du site de boost, je ne sais absolument pas quoi faire.


Message édité par NounouRs le 11-06-2008 à 23:17:02
n°1745052
sundevil
Posté le 11-06-2008 à 20:09:50  profilanswer
 

Tu peux mettre ton code complet stp ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Probleme boost regex

 

Sujets relatifs
PHP aleatoire Problème de débutant.Problême de restriction menu flash par IE
font importé dans bibliothèque et jeux de caractères? probleme bizarre[JS] Regex : parseur BBCode
Probleme Checkbutton et recuperation valeurproblème de connexion LDAP en ligne de commande
problemeProblème de connexion à une base de données MySQL
Problème de chargement de donnée dans une listeprobleme frame
Plus de sujets relatifs à : Probleme boost regex


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR