C 11正则分组
C++11 Regex Grouping
可能的重复:
无匹配
与C 11 Regex
我正在读这本涵盖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编译。注意:我正在使用code :: Ubuntu下的块12.04
任何帮助将不胜感激!谢谢!
libstdc 的正则实现是有趣的。
http://gcc.gnu.org/onlinedocs/libstdc /manual/status.html#status.iso.2011
前往第28节,正则表达式。如果您使用的是libstdc (几乎可以确定您在Ubuntu上),那么您还不能使用Regex。
这是可耻的,因为G 的C 11工具链否则非常坚固。
您可能需要为此使用Boost或其他REGEX库。或在clang(以及Clang的库)或MSVC(及其库)上进行更改。
相关文章:
- 没有找到相关文章