使用 lambda 表达式替换正则表达式匹配

Replacing Regex matches using lambda expression

我正在寻找一个简单的正则表达式查找和替换解决方案,我可以提供一个 lambda 表达式来替换每个匹配项。例如:

regex.MatchReplace(text, match => "replacement string");

这样我就可以创建自己的逻辑来生成替换字符串,这可能涉及调用各种方法等,即替换模式无法做到的事情。任何人都知道我怎样才能做到这一点?

请看以下内容:

https://msdn.microsoft.com/en-GB/library/bb383977.aspx

您可以为 RegEx class 定义一个扩展方法,这将允许您指定一个 Action<> 作为参数。

Regex 已有一个。例如,

string input="abc123def";
var output = Regex.Replace(input, @"\d", m=>(m.Value[0]-'0'+ 5).ToString());
Console.WriteLine(output);

输出:abc678def