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>
这个不一定是最好的方法,不过针对你描述的情况,已经可以工作了

编橙之家文章,

评论关闭