如果中文字符串保存在char数组中,需要先将它转换成wchar_t型的,0x4e00-0x9fa5表示汉字。
bool CheckNameStyle(const char * str){ wchar_t * reg_str = L"[/x4e00-/x9fa5//w]+" //汉字,英文字母,数字,下滑线
wchar_t w_str[512]; long dwNum = MultiByteToWideChar(CP_ACP, NULL, str, -1, w_str, sizeof(w_str));
wregex expression(reg_str); wcmatch what; if(regex_match(w_str, what, expression)) return true; else return false; }