正则表达式为什么匹配不到Group(3)?
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");
我用"event:(.*)\\|(\\d+)\\|(.*)"为什么匹配不到"event:release|4|9a631c7d-5c54-43e0-99a6-76f89bf7910e|80709283-ee51-45ef-9b20-a46ef4d1a570"
的Group(3)呢?要怎么解决?我用的是跨平台的deelx正则库
...全文
相关推荐
详解正则表达式Matcher类中group方法
例如,对于第一个匹配"123ra9040",group(0)返回"123ra9040",group(1)返回"123",group(2)返回"ra",group(3)返回"9040"。
Java正则表达式如何匹配特定html标签内的内容
在匹配成功后,我们可以通过matcher.group(3)来获取<html>标签内的内容。如果匹配失败,则输出未匹配到任何内容的信息。
python正则表达式中的括号匹配问题
在Python的正则表达式中,括号`(`和`)`具有特殊含义,它们用于创建捕获组(capturing group)。捕获组的作用是将正则表达式的一部分作为一个单独的匹配项来处理,以便在匹配完成后能够单
C#正则表达式匹配与替换字符串功能示例
这个命名空间包含了一系列相关的类,如Regex、Match、Group、Capture等,它们分别用于执行正则表达式的编译、匹配、分组捕获等功能。
python正则表达式匹配[]中间为任意字符的实例
所以'\['表示我们想要匹配一个左方括号'['。3. '[\S\s]*':这是一段组合表达式,用来匹配任意字符。


