Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 你能说出这个名字吗;“完全匹配”;正则表达式中的组?_C#_Regex_Naming - Fatal编程技术网

C# 你能说出这个名字吗;“完全匹配”;正则表达式中的组?

C# 你能说出这个名字吗;“完全匹配”;正则表达式中的组?,c#,regex,naming,C#,Regex,Naming,例如,我有一个带有命名组的正则表达式 A=( 匹配组(在本例中为A、B和_C)被迭代以设置文件上的一些数据。但是,不使用_C,因此代码跳过此操作,因为组名以_开头 始终存在一个名为0的“完全匹配”组。实际上,未命名的组和匹配的组将被指定一个数字,这是未命名组的默认值 我很好奇,是否可以给“完全匹配”一个不同的名称,例如“完全匹配”,以便上述逻辑仍然适用?否则,迭代所有组包括我不想要的Group[“0”] //c# example with System.Linq to iterate group

例如,我有一个带有命名组的正则表达式

A=(

匹配组(在本例中为A、B和_C)被迭代以设置文件上的一些数据。但是,不使用_C,因此代码跳过此操作,因为组名以_开头

始终存在一个名为0的“完全匹配”组。实际上,未命名的组和匹配的组将被指定一个数字,这是未命名组的默认值

我很好奇,是否可以给“完全匹配”一个不同的名称,例如“完全匹配”,以便上述逻辑仍然适用?否则,迭代所有组包括我不想要的
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
}

不能使用
regex.GetGroupNames().Skip(1)。其中(y=>y.Substring(0,1)!=“”)
?@vc74这是一个解决方案,但不能回答实际为完全匹配的组命名的问题。恐怕您没有命名此组的选项。您可以做的一件事是,不要使用u作为组忽略的起始字符,而是使用整数形式并排除任何无法解析为整数的组名(包括完全匹配的一个)有趣的问题,但根据我的研究,必须同意@vc74。你不能使用
regex.GetGroupNames().Skip(1)。其中(y=>y.Substring(0,1)!=“”)
?@vc74这是一个解决方案,但不能回答实际为完全匹配的组命名的问题。恐怕您没有命名此组的选项。您可以做的一件事是,不要使用u作为组忽略的起始字符,而是使用整数形式并排除任何无法解析为整数的组名(包括完全匹配的一个)有趣的问题,但根据我的研究,必须同意@vc74