Можно ли преобразовать 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]
, которая захватывает полное регулярное выражение и отфильтровывает пустые группы.