>>>В этот момент неплохо бы уточнить, какой из стандартов регэкспов имеется в виду — а то они сильно разные все
А> std::regex rx("^[a-zA-Z]+\\\\([a-zA-Z0-9]){1,8}\\.([a-zA-Z0-9]){0,3}){1,}\\\\?$"); А> std::cmatch mr; А> std::regex_search(n.c_str(), mr, rx); А> if(!mr.prefix().matched) throw std::exception("Invalid path or file name.");