正则表达式01

/W 匹配非特殊字符 即字母 数字下划线
/d 匹配任意的十进制数
/s 匹配任意空白字符

/W 大写W,匹配小w相反的词,即匹配: 特殊字符
/D 除了任意十进制的

[ ] 原子组

. 匹配任意字符

^ 开始符

结束符

  • 匹配多次

? 匹配 0

  • 匹配1以上

T{ 3} 前面的原子T出现了3次

{n,}刚好出现n次

{n,m}至少出现n次,最多出现m次

| 或选择符,1|2 ,即1或2

( ) 提取一个内容上

作业:

抓取一个漫画网站的排行榜的漫画名


正则表达式01_第1张图片
image.png

网址:http://www.pufei.net/shaonianrexue/

打开源码查看规律:


正则表达式01_第2张图片
image.png
import re
import urllib.request


data = urllib.request.urlopen("http://www.pufei.net/shaonianrexue/").read()

#对读取的结果进行编码
data= data.decode("gb2312")

#定义正则表达式
pat='class="vtip">(.*?)'

#根据正则表达式,进行匹配得到结果放入到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()



image.png

正则表达式01_第3张图片
image.png

你可能感兴趣的:(正则表达式01)