Что не так с регулярным выражением, которое я использовал?C++: Почему шаблон регулярного выражения "[+ -/*]" соответствует строке "."?
#include<regex>
#include<iostream>
#include<string>
using namespace std;
int main(int argc,char *argv[])
{
smatch results;
string temp("[+-/*]");
string test(".");
regex r(temp);
if(regex_search(test,results,r))
cout<<results.str()<<endl;
return 0;
}
"." будет распечатываться, и если я использую '\' для создания escape-последовательности, например:
string temp("[\\+-/\\*]");
Выход остается.
Посмотрите на необработанные строки из C++ 11 - они великолепны! – Downvoter