Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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#Regex-相当于\g";在regex101.com?_C#_Regex - Fatal编程技术网

C#Regex-相当于\g";在regex101.com?

C#Regex-相当于\g";在regex101.com?,c#,regex,C#,Regex,我计划使用正则表达式我已经在regex101.com上构建了一个正则表达式到C#应用程序中: ((?'d'(?:3[0-9]\s+)){2})2f\s+(\g'd'{2})2f\s+(\g'd'{4}) 问题是C#抱怨说: Unrecognized escape sequence \g. C#regex中“\g”的等效语法是什么?或者我计划使用的正则表达式有更好的替代方案吗 指向regex101的链接:在.net RegEx中不支持递归。只需在使用递归的地方应用递归模式,如 (?:3[0-9

我计划使用正则表达式我已经在regex101.com上构建了一个正则表达式到C#应用程序中:

((?'d'(?:3[0-9]\s+)){2})2f\s+(\g'd'{2})2f\s+(\g'd'{4})
问题是C#抱怨说:

Unrecognized escape sequence \g.
C#regex中“\g”的等效语法是什么?或者我计划使用的正则表达式有更好的替代方案吗


指向regex101的链接:

在.net RegEx中不支持递归。只需在使用递归的地方应用递归模式,如

(?:3[0-9]\s+){2}2f\s+(?:3[0-9]\s+){2}2f\s+(?:3[0-9]\s+){4}
我已删除所有捕获组,您可能希望在需要时重新应用它们


请参见

在.net正则表达式中不支持递归。但是在这种情况下,您可以简单地推出完整的模式,用递归模式替换递归模式。NET正则表达式不支持
\g'n'
递归构造。@SebastianProske您想发布答案吗?@SebastianProske,Wiktor Stribiżew-非常感谢,我刚刚用它自己的模式替换了命名组。它现在起作用了,您可以动态地构建模式<代码>变量p=@“(?:3[0-9]\s+)然后
var rx=$@“{p}{{2}}2f\s+{p}{2}}2f\s+{p}{4}”。也就是说,如果您需要缩短代码。然而,这与塞巴斯蒂安的建议是一样的。是否有关于
\g
构造的文档?我只看到了递归的(?R)。@Evk-See-提到了它(但这也是我第一次在野外看到该构造),是的,我找到了以下链接: