use std::regex instead of boost::regex