سؤال

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

هل كانت مفيدة؟

المحلول

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,})$"
             ^^
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top