首页 > 开发 > 综合 > 正文

[C#][正则表达式]寻找匹配的Groups的几种方法

2024-07-21 02:18:51
字体:
来源:转载
供稿:网友

寻找匹配的groups的几种方法示例:

//
// 两种大方法:
// matchcollection<->matches
// match<->match方式
//
// 第一大种:
matchcollection mmcollection =
oregex.matches(strhtmlcontent);
if(mmcollection.count > 1)
{
foreach(match m in mmcollection)
{
group ghiddentonecodes = m.groups["hiddentonecodes"];
strvalue = ghiddentonecodes.value;
}
}

// 第二大种:
// 这里面有两种方式:
// 第2.1种:nextmacth方式
match mnext;
int posn, length;
for ( mnext = oregex.match( strhtmlcontent ) ; mnext.success ; mnext = mnext.nextmatch() )
{
foreach( group g in mnext.groups )
{
if( g.length != 0 )
{
// position of capture object.
posn = g.index;
// length of capture object.
length = g.length;
strvalue = g.value;
}
}
}
//
// 第2.2种:capturecollection方式
////string[] results = new string[20];
// loop through the match collection to retrieve all
// matches and positions.
match mresult = oregex.match(strhtmlcontent);
if(false == mresult.success)
{
m_strlasterror =
("[parsefile][解析html]错误描述:没有匹配到");
return "";
}
capturecollection cc;
foreach(group g in mresult.groups)
{
// capture the collection for group(i).
cc = g.captures;
for (int j = 0; j < cc.count; j++)
{
// position of capture object.
posn = cc[j].index;
// length of capture object.
length = cc[j].length;
strvalue = cc[j].value;
}
}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表