假设我有以下正则表达式:
-(\d+)-
我想使用C#将Group 1 (\d+)替换为AA,以获得:
-AA-
现在,我使用以下方法替换它:
var text = "example-123-example";
var pattern = @"-(\d+)-";
var replaced = Regex.Replace(text, pattern, "-AA-");
但是我并不是很喜欢这样,因为如果我更改模式以匹配_(\d+)_,那么我也将不得不替换替换字符串_AA_,这违反了DRY原则。
我正在寻找类似的东西:
使匹配的文本保持原样,但将Group 1 by this text和Group 2 by another text...
编辑:
那只是一个例子。我只是在寻找一种通用的方式来做我上面说的话。
它适用于:
anything(\d+)more_text 以及您可以想象的任何模式。
我要做的就是只替换组,并保留其余的比赛。
江户川乱折腾
米琪卡哇伊
www说