Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有以下可执行文件。我用 gcc 4.7.2 (g++ foo.cc -std=c++11) 编译它。
在运行时,会抛出异常 regex_error。
我究竟做错了什么 ?
#include <regex> int main(int, char**){ std::regex re("\\d"); }
更新异常中的错误代码是error_escape。所以我尝试了“\\d”。它在运行时不会失败,但我不匹配“1”,但它确实匹配“\d”。所以这显然不是我想要的
所以答案似乎是GCC4.7 STL中的实现是不完整的。谢谢大家的意见。
与 c++11 正则表达式不匹配
谢谢你和内森恩斯特!
为什么不抓住它?
#include <regex> #include <iostream> int main(int, char**){ try { std::regex re("\\d"); } catch(std::exception const& e) { std::cout << e.what() << "\n"; } }