Question

I am doing the following

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

Any suggestions on what might be wrong with the assign statement

Était-ce utile?

La solution

The parser of some regex engines is more nitpicky than the others. However, they generally parse the regex correctly if you put - at the end of a character class.

"^[_A-Za-z0-9+-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"
             ^^
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top