Coucou tout le monde,
je suis en train de refaire en C++ tous les puzzles que j'ai déjà résolus dans d'autres langages pour pouvoir apprendre.
Mais il y a un truc qui me coince, c'est une regex.
Je veux matcher une string du type "1100011" par groupes de zeros et de uns, j'y arrive dans d'autres langages mais pas là.
Alors je fais çà pour tester:
Code:
int main()
{
std::string s ("111000111");
std::regex e ("(1+|0+)");
std::smatch sm;
std::regex_match (s,sm,e);
std::cout << "string object with " << sm.size() << " matches\n";
std::regex_match ( s.cbegin(), s.cend(), sm, e);
std::cout << "range with " << sm.size() << " matches\n";
std::cout << "the matches were: ";
for (unsigned i=0; i<sm.size(); ++i) {
std::cout << "[" << sm[i] << "] ";
}
std::cout << std::endl;
}
mais en résultat j'ai :
Code:
string object with 0 matches
range with 0 matches
the matches were:
Une bonne âme pourrait me dire ce qui foire ?