无法将十六进制序列与std :: regex和:xdigit相匹配:

时间:2018-07-11 11:40:35

标签: regex c++11

我有此代码:

try
{
    std::string input = "00179d006d000174";

    std::regex pattern("[[:xdigit:]]{16}");

    if(std::regex_match(input, pattern))
        std::cout << "Full match" << std::endl;
}
catch(const std::exception& e)
{
    std::cerr << e.what() << std::endl;
}

但不能理解两件事:

  • 为什么会引发 regex_error
  • 如果我将std :: regex :: basic标志添加到正则表达式,它将不再引发错误,但仍然不会显示“完全匹配”
  • 如何匹配示例中的16个十六进制数字的简单序列?

0 个答案:

没有答案