bonjour je cherche a transformer

12, 13 ou 14 toto en (12), (13) ou (14) #toto#

le probleme avec les regexp boost est qu il retien que la derniere de ma boucle contrairement a preg_replace de php

(([0-9-]+)(, | ou | à | et | ))+ soit 14

y a il une solution pour avoir les autres?

mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
string str = "12, 13 ou 14 toto";
static const boost::regex ex("(([0-9-]+)(, | ou | à | et | ))+toto");
string fmt = "($2) #$4#";
string result = boost::regex_replace(str, ex, fmt);
cout << result << endl;
donne

(14) #toto#

auriez vous une autre solution a me proposer pour faire ca?