博客园站长
这是人类成长进步中记录的每一时刻

先来个案例

对字符串  12\3%34_2%_%_2_2

要求替换字符串的  \   %  _   (斜杠、百分号、下划线), 替换为 \% \_ \\

要求结果为   12\\3\%34\_2\%\_\%\_2\_2

写法

sting key="123%34_2%_%_2_2";
key=Regex.Replace(Regex.Replace(key, @"[\\_%]", @"\$0");

 

个人理解  

$0 表示全匹配

$1 表示第一个括号内容

$2 第二个括号

$...以此类推 (注意,出现索引超出,$就会变成普通字符)

123abc456

(\d+)(\D+)(\d+)

匹配结果:全匹配

替换为 $0 结果,123abc456

替换为 $1 结果,整个匹配项,替换成  第一个括号内容了  ,也就是 123

替换为 $2 结果,整个匹配项,替换成  第2个括号内容了  ,也就是 abc

替换为 $5 结果,整个匹配项,替换成  普通字符 $5  ,也就是 $5

 

posted on 2016-07-11 11:11  dm3344  阅读(1857)  评论(0编辑  收藏  举报