1. 程式人生 > >c++ boost 正則表示式驗證中文字元

c++ boost 正則表示式驗證中文字元

   boost::regex rg("^[a-zA-Z0-9_\u4e00-\u9fa5]+$");
   boost::smatch sm;
   if(boost::regex_match( name, sm, rg )){
      return true;
   }
   else{
      return false;
   }
驗證賬號格式。

中文長度測試:

int main()
{
    setlocale(LC_ALL,"zh_CN.UTF-8");
    string string1("中文長度測試acdef");

    wchar_t str[256];
    int read = mbstowcs(NULL, string1.c_str(), string1.length());
    std::cout << "strign1.length = " <<  read << "\n";

    return 0;
}