Mar*_*ski 12 c++ regex visual-c++-2010 c++11
我能从正则表达式中获取字符串std::regex吗?或者如果我想在以后使用它,我应该将它保存在其他地方吗?
在提升中你可以这样做:
boost::regex reg("pattern");
string p = reg.str();
Run Code Online (Sandbox Code Playgroud)
或使用<<运算符
cout << reg;将打印图案.
但是std::regex没有str()或operator <<.我应该把我的字符串保存在其他地方还是我找不到它?
在调试器中,我可以看到内容std::regex.
我刚看了N3225,第28.4节(标题<regex>概要),实际上,basic_regex模板没有成员函数str,并且没有operator<<提供.
第28.8/2段对此提出了一些看法:
类型特化的对象
basic_regex负责将charT对象序列转换为内部表示.未指定此表示形式采用何种形式,也未指定如何通过正则表达式操作的算法访问它.
我理解的是标准的命令basic_regex可以构造const charT *但不需要实现来保持这个字符串.