空でないキャプチャのみを反復する組み込みの方法はありますか、またはラムダを使用する/正規表現を変更する必要がありますか?
たとえば、「ほうれん草」を含まないconst auto input = "Peas&Carrots Spinach-Casserole Beets Pizza Spinach-Salad Coleslaw"s
食品を探したいとします。だから私はこれを行うことができます:
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"));
もちろん問題は、次のような出力が得られることです。
ピーズ&キャロット
ビーツ
ピザ
コールスロー
これを回避する方法はありますか?