首页 > 编程知识 正文

正则表达式findall函数(正则系列3: re.findall用法)

时间:2023-05-04 19:03:28 阅读:122216 作者:2771

re.findall搜索字符串并以列表形式返回匹配字符

这个方法有三个参数,第一个是你写的正则表达式,第二个是匹配的目标字符串,第三个是匹配模式re.findall(pattern, string, flags=0)

匹配演练

实战效果最好。 #直接练习搜索是寻找一个结果。 findall会调查所有结果。 导入ehtml=' ' divid=' songs-list ' H2 class=' title '经典老歌/h2 p class='introduction '经典老歌列表/pulid=2.MP3'singer='任贤齐'沧海一声笑/a/Lili data-view='4' class=' active ' a href=' Lili data-view='6' a href=' /

要求: li标签匹配歌手和歌曲名称两者的信息,包括超链接。

分析:你会发现排除“路上有你”这首歌,匹配剩下的歌、歌手和超链接。

results=re.findall(Li.*? href='(.*? ().*? singer='(.*? () ).*? //a ',html,re.S ) print(results )返回list,元素由tuple组成forresultinresults 3360 print(results ) )返回每个tuple元素print (result )

()/2.MP3 )、()任贤齐)、(沧海一声笑)、)/3.mp3 )、(齐秦)、(过去随风)、)/4.mp3 )、()‘qldh’、) )、/)、

()/2.mp3 )、《任贤齐》、《沧海一声笑》

/2.mp3任贤齐沧海一声笑

()/3.mp3 )、《齐秦》、《往事随风》

/3.mp3齐秦往事随风飘逝

()/4.mp3 )、“‘qldh”、“光辉岁月”)

/4.mp3 qldh光辉岁月

()/5.mp3 )、“‘ffDHB”和“记事本”)

/5.mp3 ffdhb记事本

()/6.mp3 )、《邓丽君》、《希望人长久》

/6.mp3邓丽君希望人能长久

练习2 :

一些合作伙伴希望与所有歌名匹配,因为练习1与第一个歌名不匹配。 我该怎么办?

要求:所有歌曲名称与上述html代码匹配。

#要与所有歌曲匹配,有多个# *表吗? 上一个results=re.findall('Li.*?),确定表是否与前一个匹配? s*? (a.*? )? (w ) )/a )? s*? /li ',html,re.s (打印(结果打印)类型(结果) ) forresultinresults 3360打印(结果(1) ) )所有歌曲名称

()、)、)、)、)、)、)、)、沧海一声笑、)、)、)、)、)、)、)、辉煌的岁月、(、)、笔记本、)、)、)、)。

类‘列表’

一路上都有你

沧海一声笑

往事随风飘

光辉的岁月

记事本

希望人能长久下去

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。