本文整理汇总了C#中System.Text.RegularExpressions.MatchCollection.Where方法的典型用法代码示例。如果您正苦于以下问题:C# MatchCollection.Where方法的具体用法?C# MatchCollection.Where怎么用?C# MatchCollection.Where使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Text.RegularExpressions.MatchCollection
的用法示例。
在下文中一共展示了MatchCollection.Where方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetTemplate
private string[] GetTemplate()
{
if (_parts != null)
return _parts;
ContentRecord templateRec;
if (!_data.TryGetValue(TemplatePath, out templateRec) || !templateRec.HasContentStoreId)
return _parts = new string[] { String.Empty };
string text = Encoding.UTF8.GetString(_data.ReadContent(templateRec, true));
List<string> parts = new List<string>();
int offset = 0;
foreach(Match m in TemplatePattern.Matches(text))
{
parts.Add(text.Substring(offset, m.Index - offset));
parts.Add(m.Groups["closed"].Value + m.Groups["name"]);
offset = m.Index + m.Length;
}
parts.Add(text.Substring(offset, text.Length - offset));
_parts = parts.ToArray();
_valuePartOffset = -1;
MatchCollection[] found = new MatchCollection[_parts.Length];
for (int i = 0; i < _parts.Length; i++)
{
found[i] = FormInputPattern.Matches(_parts[i]);
if(found[i].Count == 1)
_valuePartIndex = i;
}
found = found.Where(mc => mc.Count > 0).ToArray();
if (found.Length == 1 && found[0].Count == 1)
{
//we have a single match, good.
Match m = found[0][0];
Group grpValue = m.Groups["value"];
if (grpValue.Success && grpValue.Captures.Count == 1)
{
_valuePartOffset = grpValue.Index + 1;
}
}
if (_valuePartOffset == -1)
_valuePartIndex = -1;
return _parts;
}