为c#中的计算操作RegEx匹配

本文关键字:操作 RegEx 匹配 计算 | 更新日期: 2023-09-27 18:11:19

在c#中很容易像这样使用RegEx

string pattern = "Version''('"(''d+).(''d+).(''d+).(''d+)'"'')";
Regex rgx = new Regex(pattern);
string output = rgx.Replace(someInput, "Version $1.$2.$3.$4");

然而,我想知道如何提取$3,增加它并将其写回输出。这对于我当前项目中的构建号的自动增量是必要的。我看到了一些关于评估员授权的内容,但是没有详细阅读

为c#中的计算操作RegEx匹配

您可以使用MatchEvaluator委托来完成此操作:

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));