[Python] 正则表达式

如题:

 1 import re
 2 text="Guido will be out of the office from 12/15/2012 - 1/3/2013"
 3 #日期的正则表达式模式
 4 datepat = re.compile('(\d+)/(\d+)/(\d+)')
 5 #找到并打印所有日期
 6 for m in datepat.finditer(text):
 7     print(m.group())
 8 #以不同方式打印日期
 9 monthnames=[None,'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug',
10             'Sep','Oct','Nov','Dev']
11 for m in datepat.finditer(text):
12     print("%s %s, %s" % (monthnames[int(m.group(1))],m.group(2),m.group(3)))
13 #将所有日期替换为(日/月/年)    
14 def fix_date(m):
15     return "%s/%s/%s" % (m.group(2),m.group(1),m.group(3))
16 newtext = datepat.sub(fix_date,text)
17 #另一种方法
18 newtext = datepat.sub(r'\2/\1/\3',text)
19 print(newtext)

 结果:

12/15/2012
1/3/2013
Dev 15, 2012
Jan 3, 2013
Guido will be out of the office from 15/12/2012 - 3/1/2013

 

posted @ 2020-01-29 20:10  cxc1357  阅读(150)  评论(0编辑  收藏  举报