Можно ли преобразовать a GroupCollection в List или IEnumerable?
Я имею в виду GroupCollection в регулярных выражениях.
Можно ли преобразовать GroupCollection в List или IEnumerable?
Ответ 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], которая захватывает полное регулярное выражение и отфильтровывает пустые группы.