我们假设我有以下正则表达式:
-(\d+)-
Run Code Online (Sandbox Code Playgroud)
我想更换,使用C#,1组(\d+)同AA,获得:
-AA-
Run Code Online (Sandbox Code Playgroud)
现在我用以下方法替换它:
var text = "example-123-example";
var pattern = @"-(\d+)-";
var replaced = Regex.Replace(text, pattern, "-AA-");
Run Code Online (Sandbox Code Playgroud)
但我真的不喜欢这个,因为如果我改变模式来匹配_(\d+)_,我也必须改变替换字符串_AA_,这是违反DRY原则的.
我正在寻找类似的东西:
保持匹配的文本的确切方式,但更改组1 this text和组2 another text...
编辑:
这只是一个例子.我只是在寻找一种做我上面所说的通用方法.
它应该适用于:
anything(\d+)more_text 以及你能想象到的任何模式.
我想要做的只是替换组,并保持匹配的其余部分.