[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