if m==k: pass else: j+=1
print 'the %dth line is not complete' %j if j==0:
print 'the txt is complete' 19. 提取出每行中完整的时间戳字段
pattern='[A-Z][a-z]{2}\\ [A-Z][a-z]{2}\\ \\d+\\ \\d+\\:\\d+\\:\\d+\\ \\d+' 20.提取出每行中完整的电子邮件地址。
(与前面的题考查内容相同,所以可以按自己喜好来做,尝试不同的思路)
pattern='\\:\\:(.+?)\\:\\:'
21.只提取出时间戳字段中的月份。 pattern='(\\w{3})\\ \\d{2}'
22.只提取出时间戳字段中的年份 pattern='[1-2]\\d{3}'
23.只提取出时间戳字段中的值(格式:HH:MM:SS)。 pattern='\\d{2}\\:\\d{2}\\:\\d{2}'
24.只从电子邮件地址中提取出登录名和域名(包括主域名和顶级域名,二者连在一起)
pattern='\\w+\\@\\w+\\.\\w{3}'
25.只从电子邮件地址中提取出登录名和域名(包括主域名和顶级域名,二者分别提取)。
pattern='(\\w+)\\@(\\w+\\.\\w{3})'
26. 将每行中的电子邮件地址替换为你自己的电子邮件地址 n=re.sub(pattern,'dongyuguo@126.com',eachLine)
27.提取出时间戳中的月、日、年,并按照格式“月 日,年”显示出来,且每行仅遍 历一次
#!/usr/bin/env python
import re
f=open('C:/python27/redata.txt','r') pattern='(\\w{3}\\ \\d{2}).+?(\\d{4})\\:' for eachLine in f.readlines(): n=re.search(pattern,eachLine) print n.group(1),',',n.group(2)
28.区号(第一组的三个数字和它后面的连字符)是可选的,即,你写的正则表达式对 800-555-1212和555-1212都可以匹配
pattern='\\d{3}\\-\\d{3}\\-\\d{4}|\\d{3}\\-\\d{4}'
29.区号中可以包含圆括号或是连字符,而且它们是可选的,就是说你写的正则表达式可以 匹配800-555-1212, 或555-1212, 或(800) 555-1212
pattern='\\d{3}\\-\\d{3}\\-\\d{4}|\\d{3}\\-\\d{4}|\\(\\d{3}\\)\\d{3}\\-\\d{4}' 正如书上所说,这里的正则表达式只是皮毛,它的强大还有待进一步学习。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库python核心编程第15章学习笔记(2)在线全文阅读。
相关推荐: