C# 在C中操纵正则表达式匹配以进行计算#

C# 在C中操纵正则表达式匹配以进行计算#,c#,regex,string,replace,version,C#,Regex,String,Replace,Version,在C#中,像这样使用正则表达式很容易 string pattern = "Version\\(\"(\\d+).(\\d+).(\\d+).(\\d+)\"\\)"; Regex rgx = new Regex(pattern); string output = rgx.Replace(someInput, "Version $1.$2.$3.$4"); 但是,我想知道如何提取$3,增加它并将其写回输出。这对于在我当前的项目中自动增加构建编号是必要的。我看到了一些关于评估人员授权的内容,但没有

在C#中,像这样使用正则表达式很容易

string pattern = "Version\\(\"(\\d+).(\\d+).(\\d+).(\\d+)\"\\)";
Regex rgx = new Regex(pattern);
string output = rgx.Replace(someInput, "Version $1.$2.$3.$4");
但是,我想知道如何提取
$3
,增加它并将其写回输出。这对于在我当前的项目中自动增加构建编号是必要的。我看到了一些关于评估人员授权的内容,但没有详细阅读。

您可以使用a来完成以下任务:

string output = rgx.Replace(input, 
    m => String.Format("Version {0}.{1}.{2}.{3}",
          m.Groups[1].Value,
          m.Groups[2].Value,
          int.Parse(m.Groups[3].Value) + 1,
          m.Groups[4].Value));

+1等于我刚才写的,具体到
string.format
:-)@xanatos谢谢!我从串联开始,但
String.Format
更简洁:)