正则表达式匹配有问题 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语言的通不过呢???

十一位的手机号码匹配而已

已经搞定了 看我blog吧
http://blog.csdn.net/hanbingfengying/article/details/42613515