首页 > 其他 > 详细

正则表达式re.findall和re.search的使用---面试

时间:2020-09-08 08:38:37      阅读:70      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 面试举例:

正则表达式匹配第一个URL,s = ‘<img data-original="https://rpic.douyucdn.cn/appCovers/2016/11/13/124871_23424435_small.jpg" ‘ \
‘src="https://rpic.douyucdn.cn/appCovers/2016/11/13/124871_23424435_small.jpg" style="display: incline;">‘

findall结果无需加group(),search需要加group()提取

 1 import re
 2 s = <img data-original="https://rpic.douyucdn.cn/appCovers/2016/11/13/124871_23424435_small.jpg"   3     src="https://rpic.douyucdn.cn/appCovers/2016/11/13/124871_23424435_small.jpg" style="display: incline;">
 4 # re.findall在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
 5 # 注意: match 和 search 是匹配一次 findall 匹配所有。
 6 res = re.findall(r"https://.*?\.jpg", s)[0]
 7 print(res)
 8 
 9 # re.search 扫描整个字符串并返回第一个成功的匹配。匹配成功re.search方法返回一个匹配的对象,否则返回None。
10 res = re.search(r"https://.*?\.jpg", s)
11 print(res.group())

运行结果:

技术分享图片

 

 

 

如果修改如下,则报错:

技术分享图片

 

 

下面的验证证明了re.search方法返回的是一个匹配成功的对象,而不是返回一个列表之类的。技术分享图片

 

 

 

正则表达式re.findall和re.search的使用---面试

原文:https://www.cnblogs.com/annatest/p/13630311.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!