BBe*_*dit 2 python regex python-2.7
我的脚本工作正常:
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)
Run Code Online (Sandbox Code Playgroud)
但是,我认为两次搜索整个文档效率很低.
如果它有帮助,这是一个示例文档:http://pastebin.com/5kRZXjij
我希望以上输出如下:
images = http://37.media.tumblr.com/tumblr_lnmh4tD3sM1qi02clo1_500.jpg
videos = http://bassrx.tumblr.com/video_file/86319903607/tumblr_lo8i76CWSP1qi02cl
Run Code Online (Sandbox Code Playgroud)
相反,最好做以下事情:
image_and_video_links = re.findall(" <match-image-links-or-video links> ", doc)
Run Code Online (Sandbox Code Playgroud)
如何将两条re.findall线合并为一条?
我尝试过使用这个|角色,但总是无法匹配任何东西.所以我确信我对如何正确使用它完全感到困惑.
小智 6
正如评论中提到的,a pipe (|)应该做的伎俩.
正则表达式
(src.\"(\S*?media.tumblr\S*?tumblr_\S*?jpg))|(\S*?(http\S*?video_file\S*?tumblr_[a-zA-Z0-9]*))
Run Code Online (Sandbox Code Playgroud)
捕获两种模式中的任何一种.
在Regex Tester上演示
| 归档时间: |
|
| 查看次数: |
7326 次 |
| 最近记录: |