string input = "Hello World!";
string pattern = "(World|Universe)";
string replacement = "$1";
string result = Regex.Replace(input, pattern, replacement);
具有下面的例子,结果将是"Hello World!"
作为$1
获取与第一组所取代(World|Universe)
,但结果我要的是"Hello $1!"
该Regex.Escape
方法旨在用于转义一个正则表达式模式,不更换,因为它可以逃脱其它字符,如斜线和其它正则表达式模式字符。 最明显的修复我的问题是有我的替代等于"$$1"
,并且将实现"Hello $1!"
,但我想知道,如果美元符号是我逃避(假设只值replacement
为用户生成的,我不知道它的时间提前),或者是有没有已经做了这个一个辅助功能。
有谁知道一个函数逃脱的重置价值Regex.Replace(string input, string pattern, string replacement)
使用?