可能重复:
与 c++11 正则表达式不匹配
我正在阅读这本涵盖 C++11 的书,然后我读到了关于正则表达式的章节。一切对我来说都很好,直到我得到关于分组的部分,并在我需要返回一个组时引用 \1。我的代码编译得很好:
#include <iostream>
#include <regex>
#include <string>
int main()
{
try
{
regex r1("<(.*)>.*</\\1>");
bool found = regex_match(string("<tag>value</tag>"),r1);
cout << "Does the string match: ";
cout << boolalpha << found << '\n';
}catch( exception e)
{
cout << e.what() << '\n';
}
return 0;
}
然而,会发生什么是我收到分段错误(核心转储)消息。这个小片段是直接从书中使用的,所以我非常怀疑这是错误的。注意:我确实使用 -std=c++0x 进行编译。注意:我在 Ubuntu 12.04 下使用 Code::Blocks
任何帮助将不胜感激!谢谢!