C#Regexp:如何从匹配中提取$ 1,$ 2变量

sco*_*eep 5 .net c# mono c#-3.0

目前.NET使用他们自己的非标准捕获组命名约定,这是一种狗.我想在C#中启用标准使用$ 1,$ 2捕获组.

他们的任何方式,或者如果没有,是他们可以使用的任何第三方正则表达式引擎,它们实现了这种功能.

Jar*_*Par 9

它并不是100%清楚你正在寻找什么,但听起来你想要能够在匹配的正则表达式中获得给定组的值.这绝对可以在C#(和.Net)中实现.

例如.

var regex = new Regex(@"(a+)(\d+)");
var match = regex.Match("a42");
Console.WriteLine(match.Groups[1].Value); // Prints a
Console.WriteLine(match.Groups[2].Value); // Prints 42
Run Code Online (Sandbox Code Playgroud)

虽然我不经常使用Mono,但如果这在那里也不起作用,我会非常惊讶.