日期:2014-05-17  浏览次数:20810 次

Regex 可以子匹配 Replace 吗

比如有源文本:   AABBCCDD
正则表达式:    A(\w+)D
替换为文本:  XX

期待得到的替换结果为: AXXD


string text = "AABBCCDD", pattern = @"A(\w)+D", retext = "XX";
string outtext=Regex.Replace(text,pattern,retext);

这时得到的 outtext 就只是  XX 如果要得到 AXXD 这样的结果,正则直接替换的方式可以实际吗?

排除 (A)(\w+)(D) 这种方式。

------解决方案--------------------
string pattern = "(?<=A)\\w+(?=\\D)";
string outtext = Regex.Replace(text, pattern, retext);