python核心编程课后习题-正则式2
来源:互联网 发布:手机淘宝怎么没有直播 编辑:程序博客网 时间:2024/05/16 15:04
1-16 为gendata.py更新代码,使数据输出到redata.txt而不是屏幕。
from random import randrange ,choicefrom string import ascii_lowercase as lcfrom time import ctimeimport systlds=('com','edu','net','org','gov')f = open('redata.txt','w+')for i in range(randrange(5,11)): dtint = randrange(i,11) dtstr = ctime(dtint) llen = randrange(4,8) login = ''.join(choice(lc) for j in range(llen)) dlen = randrange(llen,13) dom = ''.join(choice(lc) for j in range(dlen)) tmpstr= ('%s::%s@%s.%s::%d-%d-%d\n' % (dtstr,login,dom,choice(tlds),dtint,llen,dlen)) f.writelines(tmpstr) print (tmpstr)
1-19 提取每行完整的时间戳
f = open('redata.txt','r')lines = f.readlines( )for line in lines: print (re.findall(r"(.+):", line))
1-20提取完整电子邮件地址
f = open('redata.txt','r')lines = f.readlines( )for line in lines: print (re.findall(r":(\w+@\w+\.\w+):", line))
1-21 提取时间戳中月份
f = open('redata.txt','r')lines = f.readlines( )for line in lines: print (re.findall(r"\s(\w+)\s+\d", line))
1-22提取时间戳的年份
f = open('redata.txt','r')lines = f.readlines( )for line in lines: print (re.findall(r"\s(\d+)::", line))
1-23提取时间戳中的时间
f = open('redata.txt','r')lines = f.readlines( )for line in lines: print (re.findall(r"(\d+:\d+:\d+)", line))
1-24仅仅提取电子邮件地址中提取登录名和域名(包括主域名好高级域名)
f = open('redata.txt','r')lines = f.readlines( )for line in lines: print (re.findall(r"(\w+)@(\w+.\w+):", line))
1-25 同上
1-26 使用你的电子邮件地址替换每一行电子邮件地址
f = open('redata.txt','r')lines = f.readlines( )for line in lines: print (line.replace(re.findall(r"(\w+@\w+.\w+):",line)[0],'my@email.com'))
1-27从时间戳中提取月、日、和年,然后以‘月、日、年’格式,每行迭代一次。
f = open('redata.txt','r')lines = f.readlines( )for line in lines: list = re.findall(r"\s(\w+)\s+(\d).+\s(\d+):", line) print ('%s %s %s' % (list[0][0],list[0][1],list[0][2]))
1-28 区号,正则表达式应该匹配800-555-1212,也能匹配555-1212
string ="800-555-1212 555-1213"patt = '((?:\d{3}-)?\d{3}-\d{4})'print(re.findall(patt,string))
1-29支持圆括号连接的区号(800)555-1212
string ="800-555-1212 555-1213 (800)555-1214 "patt = '(?:\(\d{3}\))?(?:\d{3}-)?\d{3}-\d{4}'print(re.findall(patt,string))
阅读全文
0 0
- python核心编程课后习题-正则式2
- python核心编程课后习题-正则式1
- python 核心编程 课后习题 9—2
- Python核心编程第二章课后习题
- python核心编程第五章课后习题
- python核心编程(第二版) 课后习题
- python 核心编程 课后习题 9—3
- Python核心编程(第二版) 第五章 课后习题(1)
- python核心编程第5章课后习题
- python核心编程-第7章课后习题答案
- python核心编程-第8章课后习题答案
- python核心编程第三版课后习题一
- <python 核心编程第二版课后习题>第二章
- Python 核心编程习题2
- 《Python核心编程》第2章 习题
- Python核心编程(第二版)第六章课后习题答案
- Python核心编程(第三版)课后习题解答——第二章
- Python核心编程(第三版)课后习题解答——第四章
- 字典树的实现
- 完美世界校招在线笔试题-互联网Java(11月1日)编程题
- 弹球游戏实验:Ball_Game v1.0
- 微服务(Microservices)- 文章翻译
- 自学数据库E-R图
- python核心编程课后习题-正则式2
- android6.0 读取storage文件夹需要手动检测读取权限
- C#存储过程调用的三个方法
- JZOJ 5442. 【NOIP2017提高A组冲刺11.1】荒诞
- springboot jpa Query使用原生SQL例子--测试通过
- 复制一个web项目,项目名称如何修改,才能保证项目正常运行
- html5基础学习日记2_列表
- POJ 3764 The xor-longest Path 01字典树+dfs
- Struts2文件上传