Можете ли вы назвать группу «Full Match» в регулярном выражении? - PullRequest
1 голос
/ 16 апреля 2019

У меня есть регулярное выражение с именованными группами, например;

A=(?<A>.*),B=(?<B>.*),C=(?<_C>.*) regex101 пример

Группы соответствия, в данном случае A, B и _Cповторяются, чтобы установить некоторые данные в файле.Однако _C не используется, поэтому код пропускает это, потому что имя группы начинается с _.

. Всегда существует группа «Full Match», которая имеет имя 0. На самом деле, соответствующая группа, которая не названа, будетполучить номер, который является значением по умолчанию для неназванных групп.

Мне было любопытно, можно ли дать «Полное соответствие» другое имя, например, _Full_Match, чтобы приведенная выше логика все еще применялась?В противном случае, повторение всех групп включает Group["0"], что мне не нужно.

//c# example with System.Linq to iterate groups
foreach (var x in regex.GetGroupNames()
             .Where(y => y != "0" && y.Substring(0, 1) != "_"))
{
        /// do something with x
}
...