0

尝试在 C++ 中创建一个std::regex带有[]-enclose 字符类的对象,但出现错误:

std::regex re0("\\.");
std::regex re1("a");
std::regex re2("a+");
std::regex re3("a*");
std::regex re4("[az]");  // fails
std::regex re5("[a-z]");  // fails

这会导致以下错误:

unknown file: Failure
C++ exception with description "regex_error"

我正在使用 gcc 版本 4.8.2。

根据参考,语法似乎是正确的,并且适用于其他正则表达式编译器(我尝试了 Python 的reregex101.com)。如何在 C++ 中为范围字符类创建正则表达式对象?

4

0 回答 0