正则表达式 std

发布于 2022年 05月 19日 13:09

中文的判断,要用wstring。std::wregex

	CString strName = _T("");
	m_edit_roomname_.GetWindowText(strName);
	strName.Trim();
	wstring szName = strName.GetBuffer();
	strName.ReleaseBuffer();
	std::wregex reg(L"^[a-zA-Z_0-9\u4e00-\u9fff]+$");    //字母、数字、下划线、汉字
	std::wsmatch result;
	BOOL bIsValid = regex_match(szName, result, reg);
	if (!bIsValid)
	{
		msgbox(L"不能输入除下划线_以外的特殊字符!");
		return;
	}

  

  

 

否则用string和std::regex。匹配中文的时候,很多中文匹配错误。
\u表示unicode,用wstring

推荐文章