本文整理汇总了C#中System.Text.RegularExpressions.MatchCollection.Add方法的典型用法代码示例。如果您正苦于以下问题:C# MatchCollection.Add方法的具体用法?C# MatchCollection.Add怎么用?C# MatchCollection.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Text.RegularExpressions.MatchCollection
的用法示例。
在下文中一共展示了MatchCollection.Add方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Extract
/// <summary>
/// Extracts the matches of this pattern from <paramref name="source" />.
/// </summary>
/// <param name="fileName">The name of the file associated with <paramref name="source" />.</param>
/// <param name="source">The source string</param>
/// <returns>
/// A collection of found matches.
/// </returns>
public MatchCollection Extract(string fileName, string source)
{
MatchCollection resultMatches = new MatchCollection();
LineCounter lineCounter = new LineCounter(source);
RegexMatch regexMatch = scanner.Match(source);
while (regexMatch.Success)
{
Match match = new Match();
match["Path"] = Path.GetDirectoryName(fileName);
match["File"] = Path.GetFileName(fileName);
match["LineNumber"] = lineCounter.CountTo(regexMatch.Index).InvariantToString();
foreach (string groupName in scanner.GetGroupNames())
{
// ignore default-names like '0', '1' ... as produced
// by the Regex class
if (Char.IsLetter(groupName[0]) || (groupName[0] == '_'))
{
match[groupName] = ConcatenateCaptures(regexMatch.Groups[groupName]);
}
}
resultMatches.Add(match);
regexMatch = regexMatch.NextMatch();
}
return resultMatches;
}