#include #include #include int main(int, char **) { std::locale::global(boost::locale::generator().generate("")); boost::regex test; test.imbue(std::locale()); test.assign("^([^:]*)(:([0-9]+))?$"); boost::smatch captures; auto result = boost::regex_match(std::string("0.0.0.0:20579"), captures, test); assert(result); return 0; }