我的脚本可以很好地执行此操作:
images = re.findall("src.\"(\S*?media.tumblr\S*?tumblr_\S*?jpg)", doc)
videos = re.findall("\S*?(http\S*?video_file\S*?tumblr_[a-zA-Z0-9]*)", doc)
但是,我认为两次搜索整个文档的效率很低。
如果有帮助的话,这是一个示例文档:http://pastebin.com/5kRZXjij http://pastebin.com/5kRZXjij
我期望上面的输出如下:
images = http://37.media.tumblr.com/tumblr_lnmh4tD3sM1qi02clo1_500.jpg
videos = http://bassrx.tumblr.com/video_file/86319903607/tumblr_lo8i76CWSP1qi02cl
相反,最好这样做:
image_and_video_links = re.findall(" <match-image-links-or-video links> ", doc)
我怎样才能将两者结合起来re.findall
线合而为一?
我尝试过使用|
但我总是无法匹配任何东西。所以我确信我对如何正确使用它完全感到困惑。
正如评论中提到的,a pipe (|)
应该可以解决问题。
正则表达式
(src.\"(\S*?media.tumblr\S*?tumblr_\S*?jpg))|(\S*?(http\S*?video_file\S*?tumblr_[a-zA-Z0-9]*))
捕获两种模式中的任何一种。
Demo on
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)