Gibt es eine integrierte Möglichkeit, nur über nicht leere Captures zu iterieren oder muss ich ein Lambda/modify my regex verwenden?Gibt es eine Möglichkeit, leere Erfassungen zu verwerfen?
Zum Beispiel, gegeben: const auto input = "Peas&Carrots Spinach-Casserole Beets Pizza Spinach-Salad Coleslaw"s
Ich möchte Lebensmittel finden, die nicht enthalten enthalten "Spinat". So kann ich dies tun:
const regex re{ "\\s*(?:\\S*Spinach\\S*|(\\S*))" };
copy(sregex_token_iterator(cbegin(input), cend(input), re, 1), sregex_token_iterator(), ostream_iterator<string>(cout, "\n"));
Das Problem ist natürlich, dass I get an output wie:
Erbsen & Karotten
Beets
Pizza
Coleslaw
Gibt es einen Weg dazu?