程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c++-手機號碼校驗 正則表達式匹配有問題 C++11可以通過 android下匹配失敗 SOS!

c++-手機號碼校驗 正則表達式匹配有問題 C++11可以通過 android下匹配失敗 SOS!

編輯:編程綜合問答
手機號碼校驗 正則表達式匹配有問題 C++11可以通過 android下匹配失敗 SOS!

bool StringUtil::StringVerification(std::string src, std::string regular)
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)

regex pattern(regular.c_str());

if ( !regex_match( src, pattern ) )

{
return false;
}
return true;
#endif

#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID||CC_TARGET_PLATFORM == CC_PLATFORM_IOS)

regex_t reg;
int retval = regcomp(&reg, regular.c_str(), REG_EXTENDED | REG_NEWLINE);

retval = regexec(&reg, src.c_str(), 0, NULL, 0);
CCLOG("%s is %s\n", regular.c_str(), retval == 0 ? "legal" : "illegal");
regfree(&reg);

if (retval == 0) {
    return true;
}
else
{
    return false;
}

#endif
}

測試用例:
StringUtil::StringVerification(strPhoneNum, "^1\d{10}$");

跪求高手解答,為什麼C語言的通不過呢???

最佳回答:


try:

^1[0-9]{10}$

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved