假设我有以下正则表达式:
-(\d+)-
我想使用C#将第1组(\d+)
替换为AA
,以获得:
-AA-
现在我用以下命令替换它:
var text = "example-123-example";
var pattern = @"-(\d+)-";
var replaced = Regex.Replace(text, pattern, "-AA-");
但我真的不喜欢这样,因为如果我更改模式以匹配_(\d+)_
,我也将不得不用_AA_
更改替换字符串,这违反了DRY原则。
我在找类似的东西:
保持匹配文本的原样,但将组1更改为this text
,将组2更改为another text
...
编辑:
这只是一个例子。我只是在寻找一种通用的方式来做我上面说过的事情。
它应该适用于:
anything(\d+)more_text
和任何你能想象到的模式。
我所要做的就是只替换组,并保留比赛的其余部分。
https://stackoverflow.com/questions/6005609
复制相似问题