当前位置: 代码迷 >> ASP.NET >> 再求一正则,该如何解决
  详细解决方案

再求一正则,该如何解决

热度:932   发布时间:2013-02-25 00:00:00.0
再求一正则
<p><img data-url="/b.jpg" src="/_images/pixel.gif"/><img src="/_images/pixel.gif"/></p>
把含有data-url的IMG的src替换为data-url内容
<p><img data-url="/b.jpg" src="/b.jpg"/><img src="/_images/pixel.gif"/></p>
本人初学正则表达式 最好能解释下

------解决方案--------------------------------------------------------

C# code
string str = @"<p><img data-url=""/b.jpg"" src=""/_images/pixel.gif""/><img src=""/_images/pixel.gif""/></p>"; Regex reg = new Regex(@"(?is)(?<=<img\b[^>]*?)data-url=(['""\s]?)([^'""]*?)\1[^>]*?(src=)(['""\s]?)([^""']*?)\4(?=[^>]*/>)"); str = reg.Replace(str, @"data-url=$1$2$1 $3$4$2$4");/*<p><img data-url="/b.jpg" src="/b.jpg"/><img src="/_images/pixel.gif"/></p>*/
------解决方案--------------------------------------------------------
yourhtml=Regex.Relace(yourhtml,@"(?i)(<img\b[^>]*?data-url=(['""]?)([^'""]+)\2[^>]*?src=(['"]?))[^'"]+(\4[^>]*?>)","$1$3$5");
  相关解决方案