正規表現の異なる部分に同じグループ名を与えることもできます。 この場合、それぞれに部分にマッチした箇所は同じグループ名を使って参照することができます。 これにより、正規表現中で同じ意味を持つ部分を同一の名前でグループ化することができ、それらのいずれかにマッチした箇所を単一のグループ名で抽出することができます。

正規表現の異なる部分を同じグループ名で参照・抽出する
using System;
using System.Text.RegularExpressions;

class Sample {
  static void Main()
  {
    var text = "02/29/2012 2016-02-29";

    // mm/dd/yyyy形式またはyyyy-mm-dd形式の日付
    // (それぞれの年部分をグループ名"y"でグループ化)
    var pattern = @"\d{2}/\d{2}/(?<y>\d{4})|(?<y>\d{4})-\d{2}-\d{2}";

    foreach (Match m in Regex.Matches(text, pattern)) {
      // グループ名"y"にマッチした部分を表示
      Console.WriteLine(m.Groups["y"].Value);
    }
  }
}
実行結果
2012
2016