Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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
.net 迭代正则表达式命名组_.net_Regex - Fatal编程技术网

.net 迭代正则表达式命名组

.net 迭代正则表达式命名组,.net,regex,.net,Regex,我试图在正则表达式中迭代每个命名组(即-(?*)),并根据组的名称设置实例属性或将其添加到集合中。重要的一点是,在使用正则表达式时,我永远不会知道组的名称,因此我无法在匹配项上使用字符串索引器。有没有办法在我的匹配中提取我的组的名称?您可以使用Regex.GroupNameFromNumber迭代正则表达式中的所有捕获组并找到它们的名称。可能效率低下,但您可以编写正则表达式来解析正则表达式,并以“(?*)”的形式提取命名的捕获组然后可以使用该列表进行迭代…@marduk:Benny确实使用了命名

我试图在正则表达式中迭代每个命名组(即-
(?*)
),并根据组的名称设置实例属性或将其添加到集合中。重要的一点是,在使用正则表达式时,我永远不会知道组的名称,因此我无法在匹配项上使用字符串索引器。有没有办法在我的匹配中提取我的组的名称?

您可以使用
Regex.GroupNameFromNumber
迭代正则表达式中的所有捕获组并找到它们的名称。

可能效率低下,但您可以编写正则表达式来解析正则表达式,并以“(?*)”的形式提取命名的捕获组然后可以使用该列表进行迭代…@marduk:Benny确实使用了命名组语法,但没有显示,因为他没有使用反勾号来编码正则表达式的格式。