正则表达式为什么结果只有一个的时候 可以匹配出来,多个就不行了,求救 !!!
正则:(?<=href='http://item.jd.com).*(?='><imgwidth=)目标:<liindex='0'><div><atarget='_bla...
正则:(?<=href='http://item.jd.com).*(?='><img width=)
目标:<li index='0'><div><a target='_blank' href='http://item.jd.com/482148.html'><img width='220' height='220' src='#'/></a></div></div><div><a target='_blank' href='http://item.jd.com/482148.html'>格兰仕</a></div></li><li index='1'><div><a target='_blank' href='http://item.jd.com/541367.html'><img width='220' height='220' src='#'/></a></div><div><a target='_blank' href='http://item.jd.com/541367.html'>TCL</a></div></li>
请高手帮我看看哪里错了,为什么匹配不出来。。。。。。 展开
目标:<li index='0'><div><a target='_blank' href='http://item.jd.com/482148.html'><img width='220' height='220' src='#'/></a></div></div><div><a target='_blank' href='http://item.jd.com/482148.html'>格兰仕</a></div></li><li index='1'><div><a target='_blank' href='http://item.jd.com/541367.html'><img width='220' height='220' src='#'/></a></div><div><a target='_blank' href='http://item.jd.com/541367.html'>TCL</a></div></li>
请高手帮我看看哪里错了,为什么匹配不出来。。。。。。 展开
展开全部
你的正则表达式中.*用的是贪婪模式所以匹配出来只有一个,
加一个问号即.*?变成非贪婪模式就可以匹配出多个了,你的例子中可以匹配两个,因为'><img width=在你的例子中只有两个.
总之,把正则表达式改成(?<=href='http://item.jd.com).*?(?='><img width=)可以匹配两个
把正则表达式改成(?<=href='http://item.jd.com).*?(?='>)可以匹配四个,在你的例子中.
加一个问号即.*?变成非贪婪模式就可以匹配出多个了,你的例子中可以匹配两个,因为'><img width=在你的例子中只有两个.
总之,把正则表达式改成(?<=href='http://item.jd.com).*?(?='><img width=)可以匹配两个
把正则表达式改成(?<=href='http://item.jd.com).*?(?='>)可以匹配四个,在你的例子中.
更多追问追答
追问
你理解错了 我的目标是匹配出来两个结果,就是 http://item.jd.com 和 ('><img 中间的结果。
你这样的话 会得到四个结果。
谢谢 。。。。
追答
如果你想匹配出两个结果,正则表达式写成这样(?<img width=)就可以了,就是加个问号就行了.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询