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

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

Class Sample
  Shared Sub Main()
    Dim text As String = "02/29/2012 2016-02-29"

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

    For Each m As Match In Regex.Matches(text, pattern)
      ' グループ名"y"にマッチした部分を表示
      Console.WriteLine(m.Groups("y").Value)
    Next
  End Sub
End Class
実行結果
2012
2016