再求一正则
<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>
本人初学正则表达式 最好能解释下
[解决办法]
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");