在使用boost库的regex时,出现了崩溃问题,后来try{}catch(...){}捕获所有异常,发现在使用regex::search()时,可能是由于正则表达式不够精确,导致匹配时出现问题。后来查找boost的异常捕获,示例如下:
try { boost::regex re("(ftp|http|https):(/w+/.)*(/w*)//([/w/d]+//{0,1})+"); if (!boost::regex_match(url, re)) { throw "Your URL is not formatted correctly!"; } } catch (
boost::regex_error& e
) { cerr << "The regexp " << re << " is invalid!" << endl; throw(e); }