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 bouclecontrairement a preg_replace de php
(([0-9-]+)(, | ou | à | et | ))+ soit 14
y a il une solution pour avoir les autres?
mon code:
donne
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;
(14) #toto#
auriez vous une autre solution a me proposer pour faire ca?
Partager