首页 新闻 会员 周边 捐助

求一图片正则表达式是

0
悬赏园豆:5 [已解决问题] 解决于 2012-06-25 08:27

有一张这样的图片<img src="http://www.123.com/456.jpg" width="100" height="100"/> 想把内容中的所有的这样的图片找到并且替换掉,求一正则表达式。width和height属性的顺序可能不一样,也可能没有这两个属性,或者还有其他的属性。不变的是src的值。

Impossible的主页 Impossible | 初学一级 | 园豆:72
提问于:2012-06-11 10:49
< >
分享
最佳答案
0

替换成什么内容?

正则为:

<img\s+src="http://www.123.com/456.jpg"\s+.*?/>
收获园豆:2
草根程序猿 | 初学一级 |园豆:129 | 2012-06-11 10:53

删除掉,替换成空字符。

Impossible | 园豆:72 (初学一级) | 2012-06-11 10:55

貌似不行吧

Impossible | 园豆:72 (初学一级) | 2012-06-11 10:58
其他回答(2)
0
<img src="http://www.123.com/456.jpg"[^/]*/>
收获园豆:2
dudu | 园豆:29732 (高人七级) | 2012-06-11 11:17

src加上双引号之后,最后一个引号后面的就被注释掉了,这个需要转义吗?

支持(0) 反对(0) Impossible | 园豆:72 (初学一级) | 2012-06-11 11:19

@Impossible: 

C#代码:

var regex = new Regex(@"<img src=""http://www.123.com/456.jpg""[^/]*/>", RegexOptions.Compiled | RegexOptions.IgnoreCase);
支持(0) 反对(0) dudu | 园豆:29732 (高人七级) | 2012-06-11 11:22

@dudu: 这个正则表达式不严谨,如果有任何一个width或者height属性在img和src之间的话,就匹配不出来了。

支持(0) 反对(0) Impossible | 园豆:72 (初学一级) | 2012-06-11 11:33

@Impossible: 

不好意思,的确不严谨,改一下:

var regex = new Regex(@"<img[^""]+""http://www.123.com/456.jpg""[^/]*/>", RegexOptions.Compiled | RegexOptions.IgnoreCase);
支持(0) 反对(0) dudu | 园豆:29732 (高人七级) | 2012-06-11 12:02
0

你要用什么语言?JS的话一楼是对的,C#的话二楼是对的

把一楼的稍微改一下:

<img\s+.*?src="http://www.123.com/456.jpg"\s+.*?/>

这样就可以了

收获园豆:1
artwl | 园豆:16736 (专家六级) | 2012-06-11 11:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册