日期:2014-05-17  浏览次数:20371 次

用正则表达式怎么把下面内容全给替换成相应的内容
html数据:(要替换的就是加粗部分)
<p>文本框:
<img src="Control/TextBox.gif" id="demo_17" title="demo_18" alt="文本框提示" /></p>
<p>复选框:
<img src="Control/CheckBox.gif" id="demo_19" title="demo_20" alt="CheckBox" /></p>
<p>上传控件:
<img src="Control/FileUpload.gif" id="demo_23" title="demo_24" alt="FileUpload" />乱七乱八内容:
别墅 时固顶想办法革田枯草地lkdsa翰林进lsad韩国是协调枯草 协调枯萎
<img src="/attached/image/20130111/20130111163050_1332.png" alt="" /></p>

替换规则:
只要是以<img src="Control 开头的 图片 全进行替换
从上面拿一个出来举列:
<img src="Control/TextBox.gif" id="demo_17" title="demo_18" alt="文本框提示" />
要替换成
<ST:TextBox ID="demo_18" runat="server"  ToolTip="文本框提示"></ST:TextBox>
详细拆分说明:
1.<img src="Control/TextBox.gif" 换成 <ST:TextBox 
这里的Control/TextBox.gif和<ST:TextBox 是对应的
2.去掉 id="demo_17" 并 增加 runat="server"  (或两者用替换的方式)
3.title="demo_18" 换成 ID="demo_18"
4.alt="文本框提示" 换成 ToolTip="文本框提示"


其它控件都用同样的方法
比如

该怎么用正规表达式去替换,请高手指点。。。。

------解决方案--------------------
(?is)(?<=<img src=""Control)[^""]+(?="")
------解决方案--------------------
  string str = File.ReadAllText("D:\\1.txt", Encoding.Default);
            str = Regex.Replace(str, @"(?is)<img(?=[^>]*?src=""Control/([^""\.]+)[^""]*"")(?=[^>]*?title=""([^""]+)"")(?=[^>]*?alt=""([^""]+)"")[^>]*>", "<ST:$1 ID=\"$2\" runat=\"server\"  ToolTip=\"$3\"></ST:$1>");