python re模块正则表达式

 1 re的工作是在python中执行正则表达式
 2 import re
 3 
 4 # find
 5 result = re.findall('\d+', 'baby的电话号是:185123456789')
 6 print(result)
 7 #
 8 it = re.finditer('\d+','baby的电话号是:185123456789')
 9 for i in it:
10     print(i.group()) # 分组
11 
12 # search 搜索, 查找
13 # 一旦匹配到结果. 直接返回, 如果匹配不到结果. 返回None
14 result = re.search('\d','baby的电话号是:185123456789')
15 print(result)
16 print(result.group())
17 #
18 #
19 # match 匹配, 从头开始匹配. 相当于在你正则前面加了一个^
20 result = re.match('\d+','185123456789baby的电话号是:')
21 print(result.group())
22 
23 # search和match的区别: search查找. 找到了结果就返回. match 从头开始匹配
24 
25 result = re.finditer(r'姓名:(?P<name>.*?),爱好:(?P<hobby>.*?),', '姓名:宝宝,爱好:女,性格开朗大方')
26 for i in result:
27     print(i.group('name'), i.group('hobby'))

简单爬虫

 1 from urllib.request import urlopen
 2 
 3 content = urlopen("https://www.dytt8.net/html/gndy/dyzz/20181219/57954.html").read().decode("gbk")
 4 # print(content)
 5 
 6 reg = r'<div id="Zoom">.*?片  名(?P<name>.*?)<br />◎年  代(?P<years>.*?)<br />.*?◎上映日期(?P<date>.*?)<br />'+ \
 7 '.*?◎主  演(?P<main>.*?)◎简  介.*?<td style="WORD-WRAP: break-word" bgcolor="#fdfddf"><a href="(?P<download>.*?)">'
 8 
 9 it = re.finditer(reg, content, re.S) # re.S 去掉.里面的\n
10 
11 for el in it:
12     print(el.group())

 

posted @ 2018-12-31 16:06  沐小熊  阅读(361)  评论(0编辑  收藏  举报