Я делаю следующее
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
Любые предложения о том, что может быть неправильным с оператором присваивания
Парсер некоторых двигателей регулярных выражений является более nitpicky, чем другие. Однако они обычно правильно анализируют регулярное выражение, если вы положили -
в конце класса символов.
"^[_A-Za-z0-9+-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"
^^