我正在尝试使用非常简单的正则表达式来匹配字符串,例如2001M12
. 我创建一个std::regex
对象如下:
std::regex gretlMonth("^[:d:]{4}M[:d:]{2}$");
但我在这一行得到以下运行时异常:
unknown location(0): fatal error in "Plot_GuessesTimeFormat": std::runtime_error: regex_error
我究竟做错了什么?
如果你使用 gcc,libstdc++ 还没有实现正则表达式。
http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2011
也可以看看:
gcc 4.8 或更早版本对正则表达式有问题吗?
与 c++11 正则表达式不匹配
GCC 中的 C++0x 正则表达式
非常基本的正则表达式场景的工作方式与我对 libstdc++-v3
C++11 正则表达式匹配的预期不同 - 我无法使其正常工作
与 c++ 不匹配11 regex 正则
表达式误解或只是破坏了实现?
c ++ std regex问号问题
我在这个使用std :: regex
std :: regex的正则表达式中的错误是什么 - 是否有一些需要链接的库?
尝试在 Linux 上使用 Clang++ 编译 c++11 正则表达式教程时
出错 这个 C++11 正则表达式错误是我还是编译器?
C++11 正则表达式分组
也许你的正则表达式字符串不正确,试试这个“^\d{4}M\d{2}$”。