关于regex.replace的一个例子,请帮忙解释一下。

lhtyx 2003-07-29 11:26:37
string str1="[size=3]adafdf[/size]";
str1=Regex.Replace(str1,@"\[size=(?<size>\d+)\](?<text>\w+)\[/size\]",@"<font size='${size}'>${text}</font>",RegexOptions.IgnoreCase);
其中的
@"\[size=(?<size>\d+)\](?<text>\w+)\[/size\]"
在前面不是已经放了@了吗?为什么还非要在后面仍然要加\,也就是
\[size.........\[/size\]"?为什么还要转义呢?那@还有何用?
这里的斜杠为何义?
...全文
57 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
chenhigh 2003-07-30
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2004/2004993.xml?temp=.7622797
它写得很通俗易懂,希望对你有帮助
chenhigh 2003-07-30
  • 打赏
  • 举报
回复
1.
“\”为转义符
例如 “\[” 代表的是“[” , “\]”代表“]”
正则表达式在C#中要多加个“\”转义符
也就是说“\\[”代表“[”

2.在C#中,前面加了@,就不用多加那个“\”转义符
“\[” 就是代表“[”


lhtyx 2003-07-30
  • 打赏
  • 举报
回复
3ks
saucer 2003-07-30
  • 打赏
  • 举报
回复
"[", "]" 在正则表达式里具有特殊涵义,所以你需要对他们转义
saucer 2003-07-30
  • 打赏
  • 举报
回复
"[", "]" 鍦ㄦ鍒欒〃杈惧紡閲屽叿鏈夌壒娈婃兜涔夛紝鎵€浠ヤ綘闇€瑕佸浠栦滑杞箟
saucer 2003-07-30
  • 打赏
  • 举报
回复
"[", "]" 鍦ㄦ鍒欒〃杈惧紡閲屽叿鏈夌壒娈婃兜涔夛紝鎵€浠ヤ綘闇€瑕佸浠栦滑杞箟
lhtyx 2003-07-30
  • 打赏
  • 举报
回复
顶一下
lhtyx 2003-07-30
  • 打赏
  • 举报
回复
思归,你能不能用中文好好解释一下?先谢谢了。
saucer 2003-07-30
  • 打赏
  • 举报
回复
but "[" and "]" has special meaning in Regular Expressions, to use them as place holder, you need to escape them
lhtyx 2003-07-30
  • 打赏
  • 举报
回复
这个我知道,我的问题是前面加了@,后面的"内仍然要加\
str1=Regex.Replace(str1,@"\[size=(?<size>\d+)\](?<text>\w+)\[/size\]",@"<font size='${size}'>${text}</font>",RegexOptions.IgnoreCase);
其中的
@"\[size=(?<size>\d+)\](?<text>\w+)\[/size\]"
相关推荐
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2003-07-29 11:26
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。