#include #include int main() { using std::cerr; using boost::regex; using boost::regex_error; try { regex m1("(?xism:\\d)", regex::perl); // ok regex m2("(?-x:\\d)", regex::perl); // ok regex m3("(?-xism\\d)", regex::perl); // bad regexp } catch (boost::regex_error err) { cerr << "Bad regular expression: " << err.what() << "\n"; } }