一个好主意是将所有内容封装在组中,无论是否需要标识它们。这样,您可以在替换字符串中使用它们。例如:
var pattern = @"(-)(d+)(-)";var replaced = Regex.Replace(text, pattern, "$1AA$3");
或使用Matchevaluator:
var replaced = Regex.Replace(text, pattern, m => m.Groups[1].Value + "AA" + m.Groups[3].Value);
有点混乱的另一种方法是使用后向/超前:
(?<=-)(d+)(?=-)



