正则表达式
2017-10-28 本文已影响2人
薛落花随泪绽放
什么时正则表达式
世界上信息非常多,而我们关注的信息有限。假如我们希望之提取出关注的数据,此时可以通过一些表达式进行提取,正则表达式就是其中一种进行数据筛选的表达式。
原子
原子是正则表达式中最基本的组成单位,每个正则表达式中至少要包含一个原子。常见的原子类型有:
a普通字符作为原子
b非打印字符作为原子
c通用字符作为原子
d原子表
image.png元字符
所谓的元字符,就是正则表达式中具有一些特殊含义的字符,比如重复N次前面的字符等。
image.png模式修正符
所谓的模式修正符,即可以在不改变正则表达式的情况下,通过模式修正符改变正则表达式的含义,从而实现一些匹配结果的调整等功能。
image.png贪婪模式与懒惰模式
贪婪模式的核心点就是尽可能多的匹配,而懒惰模式的核心点就是尽可能少的匹配。
image.png正则表达式函数
正则表达式函数有:re.match()函数、re.search()函数、全局匹配函数、re.sub()函数
image.png常见正则实例
image.png简单的爬虫
image.png从网页中提取出qq群
image.png作业:提取豆瓣出版社信息并写入文件中
#提取出版社信息并写入文件中
import urllib.request
import re
data=urllib.request.urlopen("https://read.douban.com/provider/all").read().decode("utf-8")
pat='<div class="name">(.*?)</div>'
rst=re.compile(pat).findall(data)
fh=open("E:/python/python爬虫/press.txt","w")
for i in range(0,len(rst)):
print(rst[i])
fh.write(rst[i]+"\n")
fh.close()