暂做笔记,正在建设,请勿参考~
匹配方法
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次。所以只会匹配到一次