13
Wenn ich ein einfaches Regex-Muster wie "AB." und ich habe eine Zeichenfolge, die mehrere Übereinstimmungen wie "abc abd" hat. Wenn ich Folgendes tue ...Boost C++ Regex - wie mehrere Übereinstimmungen zu bekommen
boost::match_flag_type flags = boost::match_default;
boost::cmatch mcMatch;
boost::regex_search("abc abd", mcMatch, "ab.", flags)
Dann enthält mcMatch nur das erste "abc" Ergebnis. Wie kann ich alle möglichen Übereinstimmungen erhalten?
Vielen Dank für die schnelle Antwort. Frage, was kommt * iter zurück, scheint es in meinem Schnelltest kein boost :: cmatch zu sein? Ich habe nur ein sehr einfaches Beispiel gegeben. In meiner Regex kann ich Gruppen haben, also brauche ich Zugang zu den Gruppeninformationen für jedes Match (wie von cmatch verfügbar)? – Ron
Sie könnten stattdessen den regex_iterator ausprobieren, er gibt ein match_result zurück, wenn dereferenziert wird, und sollte Ihnen geben, wonach Sie suchen? – Jacob