暂做笔记,正在建设,请勿参考~
匹配方法
1.search()
只会返回一次匹配结果
2.match()
从头开始匹配,一点不符合立马结束匹配
3.全局匹配
re.compile(str).findall(html)
主要用法,可匹配所有结果。
匹配的结果
正则匹配的结果就是用原子匹配出的结果,3个(.*?)匹配出的就是3个部分的内容。i[2]就是第三部分的内容
#url = '<a title="如何用Python写一个计算器软件 附带效果图" href="https://www.thinksaas.cn/group/topic/834771/">如何用Python写一个计算器软件 附带效果图</a>'
str = '<a title="(.*?)" href="(.*?)">(.*?)</a>'
result = re.compile(str).findall(html)
for i in result:
print(i[2])
贪婪与懒惰 (.*与.*?)
(明明是这么有用的东西,为什么名字都这么消极,我看应该叫积极和稳重-_-!)
例如 .* 这样的匹配,会匹配到所有的内容
?是懒惰的代名词, .*?可以保证 .*只匹配0次和1次。所以只会匹配到一次

本文介绍了正则表达式的三种匹配方法:search()、match()和findall(),并详细解释了它们的区别及应用场景。此外,还探讨了贪婪与懒惰匹配的概念。
9399

被折叠的 条评论
为什么被折叠?



