当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > [C#][正则表达式]寻找匹配的Groups的几种方法

ASP.NET
Visual Studio.Net 内幕(7)
.Net 2.0 原汁原味读取注册表
ASP.NET 2.0中预设的cookie
ASP.NET:一段比较经典的多线程学习代码
ASP.NET2.0服务器控件之自定义状态管理
Asp.net给站点某目录增加Aspnet用户
ASP.NET技巧:请求网址并解析返回的html
在Asp.net用C#建立动态Excel
ASP.NET2.0:页面中链入的CSS、js文件带中文时需注意
ASP.NET技巧:数据岛出到Excel最为简易的方法
第一次用.net2.0 LOGIN登陆控件的困惑和解决方法
在ASP.net中保存/取出图片入/从SQL数据库
ASP.NET技巧:做个DataList可分页的数据源
在.NET中利用委托实现窗体间通信
在.NET2.0中使用自定义事务操作
解决 ASP.NET中目录访问权限的问题
ASP.Net防止刷新自动触发事件的解决方案
白刃之战:PHP vs. ASP.NET(节选)-架构比较
C#中使用SendMessage
提取HTML代码中文字的C#函数

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 170 ::
收藏到网摘: n/a


寻找匹配的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;
} }