使用std :: regex_match匹配单个数字

时间:2013-12-11 17:10:36

标签: c++ regex

根据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; }
}

2 个答案:

答案 0 :(得分:1)

海湾合作委员会的std::regex支持尚未准备好迎接黄金时段。请参阅:Is gcc 4.8 or earlier buggy about regular expressions?

答案 1 :(得分:0)

如果@qwrrty建议std :: regex支持仍然有问题,则字符类'[0-9]'可替代'\d'