
正则表达式在匹配html标签里有alt="好"和alt=好 2种共存时的问题 30
能匹配这个<Ahref=""><imgalt="好"onload=";if(image.width>0&&image.height>0){if(image.width>=...
能匹配这个<A href="" ><img alt="好" onload=";if(image.width>0 && image.height>0){if(image.width>=700)" alt=好 src="htp://photo21.hexun.com/p/2013/0814/509726/b_vip_C6AB6A.jpg"></A>
替换成
<img src="htp://photo23.hexun.com/p/$2/$3/$4/$5">
形式吗?
<img( *\w+=("[^"]+")* src="htp://photo23\.hexun\.com/p/(\d+)/(\d+)/(\d+)/(.*\.jpg)".*?>可以很好地匹配alt="" src=""这种的,但是同时含有alt=好 这种没有引号的类型的就不行了。。请指点迷津
改一下,<A href="" ><img alt="好" onload=";if(image.width<0 && image.height>0){if(image.width>=700)" alt=好 src="htp://photo21.hexun.com/p/2013/0814/509726/b_vip_C6AB6A.jpg"></A>
要匹配这个 如果width<0(当然width不可能<0,但别的代码有这种可能)和height>0同时存在且alt="好"和alt=好4者同时存在时的匹配
还有,2个<img>同时存在的话不要匹配成2个<img>之间的那部分文字标签等内容! 展开
替换成
<img src="htp://photo23.hexun.com/p/$2/$3/$4/$5">
形式吗?
<img( *\w+=("[^"]+")* src="htp://photo23\.hexun\.com/p/(\d+)/(\d+)/(\d+)/(.*\.jpg)".*?>可以很好地匹配alt="" src=""这种的,但是同时含有alt=好 这种没有引号的类型的就不行了。。请指点迷津
改一下,<A href="" ><img alt="好" onload=";if(image.width<0 && image.height>0){if(image.width>=700)" alt=好 src="htp://photo21.hexun.com/p/2013/0814/509726/b_vip_C6AB6A.jpg"></A>
要匹配这个 如果width<0(当然width不可能<0,但别的代码有这种可能)和height>0同时存在且alt="好"和alt=好4者同时存在时的匹配
还有,2个<img>同时存在的话不要匹配成2个<img>之间的那部分文字标签等内容! 展开
3个回答
2014-09-28 · 知道合伙人软件行家
关注

展开全部
不太清楚你写的正则为什么很复杂,可能是标本太少的缘故?
如果是将字符串标本:
<A href="" ><img alt="好" onload=";if(image.width<0 && image.height>0){if(image.width>=700)" alt=好 src="htp://photo21.hexun.com/p/2013/0814/509726/b_vip_C6AB6A.jpg"></A>
替换成:
<img src="htp://photo23.hexun.com/p/$2/$3/$4/$5">
从上面看出,只需要截取出标本字符串中的最后几个参数就行了,那么正则表达式:
<img .*src="htp://photo21\.hexun\.com/p/(\d+)/(\d+)/(\d+)/(.*\.jpg)".*?>
这样就可以得到后面的参数。如图:
更多追问追答
追问
头大了,忘了说明一下了,如果有2个的话好啊之类就把2个之间的文字标签所有内容都匹配了,所以这个方法不行才写复杂的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询