我看的是C++ primer5th P646页例子
程序功能大致是:
查找一串字符里面不在字符c之后的字符串ei。
逐过程调试到主程序第三行: regex r(pattern);
报错
程序如下:
include "stdafx.h"
include<iostream>
include<regex>
using namespace std;
int main() {
string pattern("[^c]ei");
pattern = "[[:alpha:]]*" + pattern + "[[:alpha:]]*
regex r(pattern); //提示 有未处理的错误
smatch results;
string test_str = "receipt freind theif receive";
if (regex_search(test_str, results, r))
cout << results.str() << endl;
return 0;
}
使用try catch后:
报错如下:
int main() {
string pattern("[^c]ei");
pattern = "[[:alpha:]]*" + pattern + "[[:alhpa:]]*";
try{
regex r(pattern,regex::extended); //提示 有未处理的错误
}
catch (regex_error e)
{
cout << e.what() << "\ncode:" << e.code() << endl;
}
regex r(pattern,regex::extended);
smatch results;
string test_str = "receipt freind theif receive";
if (regex_search(test_str, results, r))
cout << results.str() << endl;
return 0;
}