#include <cstdlib>
#include <cstring>
#include <sys/time.h>
#include <fstream>
#include <iostream>
#include <algorithm>
#include <regex>
std::wstring stringTowstring(const std::string& strInput){
if (strInput.empty())
{
return L"";
}
std::string strLocale = setlocale(LC_ALL, "");
const char* pSrc = strInput.c_str();
unsigned int iDestsize = mbstowcs(NULL, pSrc, 0) + 1;
wchar_t* szDest = new wchar_t[iDestsize];
wmemset(szDest, 0, iDestsize);
mbstowcs(szDest, pSrc, iDestsize);
std::wstring wstrResult = szDest;
delete[]szDest;
setlocale(LC_ALL, strLocale.c_str());
return wstrResult;
}
int main() {
std::wregex reg_blue(L"^[京津沪渝豫云江黑湘院鲁新苏浙鄂桂晋蒙陕吉国贵粤青藏宁琼]{1}[ABCDEFGHJKLMNPQRSTUVWXY]{1}[ABCDEFGHJKLNMxPQRSTUVWXYZ 0-9]{4}[ABCDEFGHJKLNMxPQRSTUVWXYZ 0-9]{1}$");
std::wstring wstr = stringTowstring("鲁B87Q1B");
std::wsmatch match;
bool ret = std::regex_match(wstr, match, reg_blue);
if (ret){
std::cout <<"Yes blue" << std::endl;
}else{
std::cout <<"No blue" << std::endl;
}
return 0;
}
c++ 中文字符正则使用
于 2023-12-07 10:47:24 首次发布

1288

被折叠的 条评论
为什么被折叠?



