如果中文字符串保存在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;
}