c#使用通配符子表达式将模式替换为外部字符串作为键

时间:2014-07-19 01:30:57

标签: c# regex replace

我有一个包含各种标签的字符串,例如,我需要用指定文件名的内容替换整个匹配的字符串,请记住文件名实际上并不知道,因此无法直接搜索。

我得到了大部分内容,但是让我感到兴奋的是如何在普通替换之外使用子表达式,而是作为返回传递文件​​内容的方法的参数。

page= Regex.Replace(page,"<!--Include:(.*)-->",getFileContents($1));

1美元让我感到很生气,因为我不能像那样得到子表达式。

提前致谢!

1 个答案:

答案 0 :(得分:3)

您可以使用Regex.Replace的重载,该重载需要MatchEvaluator

page= Regex.Replace(page,"<!--Include:(.*)-->", 
                    m => getFileContents(m.Groups[1].Value));