正则表达式 findall的扩展

 1 # find扩展,对于分组的问题
 2 # 仔细看下面这句代码,图片的地址有两个,我只想取一个
 3 # 但这行代码并不能满足需求 会打印出两个地址
 4 image_str2 = """<img alt="达浪妹妹哟的直播" data-original="https://rpic.douyucdn.cn/live-cover/appCovers/2018/08/22/5376712_20180822144021_small.jpg" src="https://rpic.douyucdn.cn/live-cover/appCovers/2018/08/22/5376712_20180822144021_small.jpg" width="283" height="163" class="JS_listthumb" style="display: block;">"""
 5 print(re.findall('https?://.+?\.jpg', image_str2))
 6 # 解决办法: 匹配的时候在前面再点关键字用来区分
 7 # 再用括号 括起来需要的数据,findall在里面写分组后会取分组的数据
 8 print(re.findall("""data-original="(https?://.+?\.jpg)""", image_str2))
 9 print(re.findall("""src="(https?://.+?\.jpg)""", image_str2))
10 # findall会把所有的分组数据放到一个元组,前提分组要两个或者两个以上
11 print(re.findall("""(src=)"(https?://.+?\.jpg)""", image_str2))
View Code
打印结果:
['https://rpic.douyucdn.cn/live-cover/appCovers/2018/08/22/5376712_20180822144021_small.jpg', 'https://rpic.douyucdn.cn/live-cover/appCovers/2018/08/22/5376712_20180822144021_small.jpg']
['https://rpic.douyucdn.cn/live-cover/appCovers/2018/08/22/5376712_20180822144021_small.jpg']
['https://rpic.douyucdn.cn/live-cover/appCovers/2018/08/22/5376712_20180822144021_small.jpg']
[('src=', 'https://rpic.douyucdn.cn/live-cover/appCovers/2018/08/22/5376712_20180822144021_small.jpg')]

  

posted @ 2018-09-06 15:09  G_S  阅读(406)  评论(0)    收藏  举报