以下正则表达式不适用于boost regex

时间:2014-01-30 04:48:14

标签: c++ regex boost-regex

我正在做以下

std::string myregex = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"

 boost::regex re;
      re.assign(regex_expr, boost::regex_constants::icase); //Problem - Breaks

有关assign语句可能出错的任何建议

1 个答案:

答案 0 :(得分:0)

一些正则表达式引擎的解析器比其他引擎更挑剔。但是,如果将-放在字符类的末尾,它们通常会正确解析正则表达式。

"^[_A-Za-z0-9+-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"
             ^^