使用re模块,必须先导入re模块
import re
import re
str = "我的电话:10086,女朋友电话:11011"
list = re.findall('\d+',str)
print(list)
import re
str = "我的电话:10086,女朋友电话:11011"
ite = re.finditer('\d+',str)
for i in ite:
print(i.group())
import re
str = "我的电话:10086,女朋友电话:11011"
ite = re.search('\d+',str)
print(ite.group())
import re
str = "我的电话:10086,女朋友电话:11011"
ite = re.match('\d+',str)
print(ite.group())
import re
str = "我的电话:10086,女朋友电话:11011"
com = re.compile('\d+')
lst = com.findall(str)
print(lst)
获取下面字符串里面的名字和ID:
'''
金城武
胡歌
彭于晏
阿祖
'''
程序:
import re
str = '''
金城武
胡歌
彭于晏
阿祖
'''
com = re.compile("(?P.*?) ")
result = com.finditer(str)
for i in result:
print(i.group('id'),i.group('name'))
在预编译中有(?P\d+),(?P)是告诉处理器,括号里面的内容需要注意,我需要单独拿出来,<>
里面是告诉处理器,这里拿出来的内容叫什么名字,后面可以根据这个名字对(?P)匹配的内容单独处理,比如后面group('id')
直接根据名字取出数据
爬取豆瓣电影top250的电影名、导演、时间
程序:
import re
import requests
url = 'https://movie.douban.com/top250'
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362'}
response = requests.get(url=url,headers=headers)
content = response.text
obj = re.compile('.*?