Можно ли преобразовать GroupCollection в List или IEnumerable?

Можно ли преобразовать a GroupCollection в List или IEnumerable? Я имею в виду GroupCollection в регулярных выражениях.

Ответ 1

Конечно,

GroupCollection col = ...;
IEnumerable<Group> enumerable = col.Cast<Group>();
List<Group> list = col.Cast<Group>().ToList();

Ответ 2

Здесь однострочный вариант:

new Regex("[your regex goes here]").Matches(stringThatYouAreTryingToExtractGroupsFrom)[0].Groups.Cast<Group>().Skip(1).Where(o => o.Value != "").Select(o => o.Value)

Это будет throw исключение, если совпадений нет. Я также пропускаю исходную группу [0], которая захватывает полное регулярное выражение и отфильтровывает пустые группы.