64,637
社区成员
发帖
与我相关
我的任务
分享
bool TestRegex(char *lpLink)
{
string strLink(lpLink);
static CRegexpT<char> rgxField("event:(.*)\\|(\\d+)\\|(.*)", IGNORECASE);
MatchResult matchresult = rgxField.Match(strLink.c_str());
bool bRet = matchresult.IsMatched()!=0;
if(bRet)
{
printf("TestRegex MaxGroupNumber=%d:\n",matchresult.MaxGroupNumber());
for(int i=1;i<matchresult.MaxGroupNumber();i++)
{
int nStart = matchresult.GetGroupStart(i);//event:release|2|
int nEnd = matchresult.GetGroupEnd(i);
string strType = strLink.substr(nStart, nEnd-nStart);
printf("%s\n",strType.c_str());
}
}
return bRet;
}
TestRegex("event:release|4|9a631c7d-5c54-43e0-99a6-76f89bf7910e|80709283-ee51-45ef-9b20-a46ef4d1a570");