python 正则表达式 日期,日期时间和正则表达式日期

您可以通过搜索带有"."的字母来搜索月、日和年:import re, datetime

months = {b:a for a, b in enumerate(['Jan.', 'Feb.', 'March', 'April', 'May', 'June', 'July', 'Aug.', 'Sept.', 'Oct.', 'Nov.', 'Dec.'], 1)}

def convert_date(d:str) -> str:

month, day, year = d.split()

return datetime.datetime(int(year), months[month], int(day))

data = ['Date first available at Amazon.ca: Nov. 23 2017', 'Date first available at Amazon.ca: March 27 2017', 'Date first available at Amazon.ca: March 6 2018']

new_data = [re.findall('[a-zA-Z]+\.*\s\d+\s\d+$', i) for i in data]

final_results = [convert_date(i[0]) for i in new_data if i]

输出:

^{pr2}$

时间安排:import time

def timeit(f):

_t1 = time.time()

_ = f()

print(f'{f.__name__}: completed in {time.time()-_t1}')

@timeit

def ajax1234():

new_data = [re.findall('[a-zA-Z]+\.*\s\d+\s\d+$', i) for i in data]

@timeit

def anthony():

t = [re.findall('(Jan.|Feb.|March|April|May|June|July|Aug.|Sept.|Oct.|Nov.|Dec.)[\d\s]+', i) for i in data]

输出:ajax1234: completed in 4.982948303222656e-05

anthony: completed in 3.314018249511719e-05

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值