string replacement="$7777777777";
Regex.Replace("hello","e",replacement);
运行上面的一行,会报ArgumentException. 说捕获索引不能大于Int.MaxValue。
程序的理解是,我的replacement string 是前面表达式匹配的第7777777777个结果,其实不是,这里我的目的仅仅是替换"e"为"$7777777777".
解决方案:
先用正则匹配要替换的内容,把内容中的一个$,替换成$$, "$$777777777777", 再代入替换, 出来的结果就成了期望的'H$77777777777llo'