正则表达式在匹配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>之间的那部分文字标签等内容!
展开
 我来答
windblast
2014-09-28 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13629
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部

不太清楚你写的正则为什么很复杂,可能是标本太少的缘故?


如果是将字符串标本:


<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个之间的文字标签所有内容都匹配了,所以这个方法不行才写复杂的。
追答

还是没弄清楚,多个img之间也是可以的啊,请看下图:



将匹配改成非贪婪匹配,效果就象上图显示的。

faiy1314
2014-09-28 · TA获得超过149个赞
知道答主
回答量:78
采纳率:0%
帮助的人:70.6万
展开全部
虽然不知道哪种语言,不过楼上的方式似乎是可以滴,用?来匹配有"或没有“,也可以参考
(?=alt="好"|alt=好 )这种方式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我的健康我掌握
2014-09-28 · TA获得超过828个赞
知道小有建树答主
回答量:1757
采纳率:50%
帮助的人:486万
展开全部
alt=["']?好["']?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式