根据this reference,我应该能够将一个数字与
匹配std::regex e1 ("\\d");
但是,当我运行以下测试代码时,我得到一个正则表达式异常。
#include <iostream>
#include <string>
#include <regex>
int main()
{
std::regex r("\\d");
std::string s("9");
if (std::regex_match(s, r)) { std::cout << "matched!" << std::endl; }
}
答案 0 :(得分:1)
海湾合作委员会的std::regex
支持尚未准备好迎接黄金时段。请参阅:Is gcc 4.8 or earlier buggy about regular expressions?
答案 1 :(得分:0)
如果@qwrrty建议std :: regex支持仍然有问题,则字符类'[0-9]'
可替代'\d'
。