首页 > 技术文章 > 正则表达式$的使用

wdw31210 2016-07-11 11:11 原文

先来个案例

对字符串  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

 

推荐阅读