c# 这个正则是什么意思?
pattern="\\$插入文本(([\\w\\-\\+\\/\\\\\\(\\)]*))\\$";regex=newRegex(pattern);body=regex....
pattern = "\\$插入文本(([\\w\\-\\+\\/\\\\\\(\\)]*))\\$";
regex = new Regex(pattern);
body = regex.Replace(body, "<div class=\"kv-static-text\" key=\"$1\"></div>"); 展开
regex = new Regex(pattern);
body = regex.Replace(body, "<div class=\"kv-static-text\" key=\"$1\"></div>"); 展开
展开全部
首先你要理解正则在文本中是字符串的形式,字符串某些字符是需要转义的,比如\,当然,正则也是需要转义的(二重转义),比如\w
比如这个正则的具体的内容是:\$插入文本(([\w\-\+\/\\\(\)]*))\$
具体的匹配是
\$ 匹配 $ 这个符号
插入文本 正常全量匹配 插入文本 这四个中文汉字
(匹配中文左括号(
([\w\-\+\/\\\(\)]*)英文小括号括起来的是一个分组下面再讲
)匹配中文右括号)
\$仍然匹配一个$符号
对于列表4分组来说
()英文小括号只是一个分组作用,不参与任何匹配,括起来的内容分配到组1(也就是替换文本中的$1)
[]表示单个匹配的范围,圈起来的正则相当于单次匹配字符的范围
[]*表示[]圈起来的范围可能匹配0-N次(?匹配0-1次,+匹配1-N次)
\w表示匹配英文字符和数字等
\-表示匹配减号-
\/表示匹配/
\\表示匹配\
\(表示匹配( 正常的英文小括号有分组的含义,所以需要转义
\)表示匹配)
那么意义就很明显了,匹配“$插入文本(abc-+\/())$”并将分组1替换到下面的文本中
直接上栗子
红色记号标记的即文本中被分组的内容,
黄色记号笔标记的是替换的文本中的分组
蓝色标记的是分组被替换的内容
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询