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