16,473
社区成员
发帖
与我相关
我的任务
分享
void TestRegExp(wchar_t* format,wchar_t* szMatch)
{
CAtlRegExp<> reExt;
if(REPARSE_ERROR_OK != reExt.Parse(format))
{
return ;
}
CAtlREMatchContext<> mcExt;
if(!reExt.Match(szMatch,&mcExt))
{
cout<<"un match"<<endl;
return ;
}
for(UINT i = 0 ; i < mcExt.m_uNumGroups ; i ++)
{
const CAtlREMatchContext<>::RECHAR* szStart = 0;
const CAtlREMatchContext<>::RECHAR* szEnd = 0;
mcExt.GetMatch(i,&szStart,&szEnd);
ptrdiff_t len = szEnd - szStart;
printf("%d: \"%.*s\"\n", i, len, szStart);
}
}
int _tmain(int argc, _TCHAR* argv[])
{
TestRegExp(_T("(\d+,)*\d+"),_T("123,123"));
TestRegExp(_T("[0-9]+"),_T("102k3"));
return 0;
}
TestRegExp(_T("[0-9]+"),_T("102k3"));
TestRegExp(_T("[0-9]+"),_T("102k3"));
TestRegExp(_T("(\\d+,)*\\d+"),_T("123,123"));