Я тестирую пример из Stroustrup C ++ 4th Ed, страница 1069, в котором могут быть неуказанные исправления здесь . Кто-нибудь знает, как следует изменить этот код, чтобы правильно распечатать вывод ниже? В книге утверждается, что это должен быть результат, однако мой тест ничего не дает (совпадений нет).
#include <regex>
#include <iostream>
using namespace std;
int main()
{
string input {"aa::bb cc::dd ee::ff"};
regex pat {R"((\w+)([[:punct:]]+)(\w+)\s∗)"};
sregex_token_iterator end {};
for (sregex_token_iterator p {input.begin(),input.end(),pat,{1,3}};
p!=end; ++p)
cout << *p << '\n';
return 0;
}
Выходные данные по заявкам на книгу должны быть:
aa
bb
cc
dd
ee
ff
Компиляция:
clang++ -Wall -std=c++11 -pedantic test248.cc && ./a.out
Compilation finished at Wed Aug 5 20:09:52