为什么我不能在 C++11 中使用回顾?前瞻工作正常。
std::regex e("(?<=a)b");
这将抛出以下异常:
The expression contained mismatched ( and ).
这不会抛出任何异常:
std::regex e("a(?=b)");
我错过了什么?
最佳答案
C++11 <regex>
使用 ECMAScript 的 (ECMA-262) 正则表达式语法,因此它不会有后视(C++11 支持的其他正则表达式风格也没有后视)。
如果您的用例需要使用后视,您可以考虑使用 Boost.Regex相反。
关于c++ - 在 C++11 中使用正则表达式回顾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14538687/