/W 匹配非特殊字符 即字母 数字下划线
/d 匹配任意的十进制数
/s 匹配任意空白字符
/W 大写W,匹配小w相反的词,即匹配: 特殊字符
/D 除了任意十进制的
[ ] 原子组
. 匹配任意字符
^ 开始符
结束符
- 匹配多次
? 匹配 0
- 匹配1以上
T{ 3} 前面的原子T出现了3次
{n,}刚好出现n次
{n,m}至少出现n次,最多出现m次
| 或选择符,1|2 ,即1或2
( ) 提取一个内容上
作业:
抓取一个漫画网站的排行榜的漫画名
网址:http://www.pufei.net/shaonianrexue/
打开源码查看规律:
import re
import urllib.request
data = urllib.request.urlopen("http://www.pufei.net/shaonianrexue/").read()
#对读取的结果进行编码
data= data.decode("gb2312")
#定义正则表达式
pat='class="vtip">(.*?)</a>'
#根据正则表达式,进行匹配得到结果放入到result
result= re.compile(pat).findall(str(data))
#定义一个打开的文件
refile = open("/Users/vincentwen/Downloads/requestfile.txt","w")
#循环写入内容,并换行
for i in range(0,len(result)):
refile.write(result[i]+"\n")
#关闭打开的文件
refile.close()