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