玩蛇网提供最新Python编程技术信息以及Python资源下载!

python正则匹配的方法,求高手帮我修改下源码

<td>数据:</td>
<td><img src="/123/abc.jpg" border="0" /></td>

 

(.+?) 可以匹配td之间的数据,比如上面的“数据:” 现在我想匹配上面的“数据:” 以及 “/123/abc.jpg”

我的理解是()得到想要的数据,然后 | 做类似的或操作 如果需要能匹配a模式或者b模式的,是不是应该这样 ((a)|(b)) 也就是这样: <td>((.+?)|<img src="(.+?)" border="0" />)</td>

但是经过测试达不到我想要的效果。 麻烦哪位大侠解答下,谢谢!

(.+?)这一组在尝试匹配“数据:”时根据非贪婪规则,匹配到“数”就可以结束了,对于你想取得整个“数据:”的需求却没有做到。

正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。

<td>(?:<img src=")?(.+?)(?:" border="0" />)?</td>
这个不一定是最好的方法,不过针对你描述的情况,已经可以工作了

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd20253.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月19日 - 11时50分46秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules