Bonjour � tous...
� nouveau un petit probl�me sur un th�me que je ne ma�trise pas bien du tout : les regex... Alors voici mon probl�me...
J'ai un tableau de std::string au format suivant, pour lesquelles je souhaite extraire chaque valeur num�rique :
Je me suis dit que c'�tait un travail de regex, mais j'en ch*e
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 4354 10885 3536 3536 22 0 620 0 4354 10885 3536 3536 22 0 620 0 4354 10885 3536 3536 22 0 620 0
Voici mon code avec la regex que je tente de mettre au point :
Pour chaque ligne de texte, la fonction ne me retourne aucun champ exploitable (on boucle avec continue). J'ai essayer plusieurs forme de formule regex, ainsi que quelques param�tres au niveau de l'appel regex_match mais en vain.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 //string regex_str = R"((\S+)[\t\n]/g)"; string regex_str = R"((\S+)[\t\n])"; boost::regex reg(regex_str); for(auto &line : file_dataset) { // Extract data /* 'line' contient la ligne de texte présentée ci-dessus */ boost::smatch results; //if(!boost::regex_match(line, results, reg)) if(!boost::regex_match(line, results, reg, boost::match_any)) { cerr << "* " << line << endl; continue; } // Data processing [...] }
Avant de me lancer dans l'exploitation de cette reger, je l'ai test� en ligne sur le site https://regex101.com. Avec l'option /g, cette regex est pleinement fonctionnelle.
Avez vous des pistes de r�flexion sur cette utilisation ? Le testeur de regex est en mode PCRE, mais je ne sais pas si boost_regex est dans le m�me mode ni comment lui demander...
de vos pr�cieux conseils !
![]()
![]()
Partager