0

c# .net の正規表現パターンに一致する一意のキャプチャ グループを抽出する方法はありますか? SiteElements[10] と SiteElements[11] の 2 つの要素を持つリスト uniqueSiteElementKeys3 が必要です。

string lineOfKeys = "SiteElements[10].TempateElementId,SiteElements[10].TemplateElementValue,SiteElements[11].TempateElementId,SiteElements[11].TemplateElementValue";
string pattern3 = @"(?<SiteElements>^\b(SiteElements\[[0-9]+\]))";                        
List<string> uniqueSiteElementKeys3 = new List<string>();
foreach (Match match in Regex.Matches(lineOfKeys, pattern3))
{
  if (uniqueSiteElementKeys3.Contains(match.Groups[1].Value) == false)
  {
     uniqueSiteElementKeys3.Add(match.Groups[1].Value);
  }
}
4

1 に答える 1

0

そのためには、単純な古いLINQを使用してください:

var uniqueSiteElementKeys3 = Regex.Matches(lineOfKeys, @"\bSiteElements\[[0-9]+\]")
                                  .Cast<Match>()
                                  .Select(match => match.Value)
                                  .Distinct()
                                  .ToList();

デモ

于 2014-11-04T22:15:00.220 に答える