现在的位置: 首页 > 综合 > 正文

BOOST正则表达式库处理中文

2014年01月09日 ⁄ 综合 ⁄ 共 380字 ⁄ 字号 评论关闭

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

 

抱歉!评论已关闭.