python正则表达式匹配中文日期时间

摘要:
今天,我将分享一个Python正则表达式匹配日期和时间方法,因为最近的项目需要从字符串=datetime.strptime.Struftime:raiseValueErrorreturnTrueexceptValueError:#raiseValueError returnFalseprintvalidate#false#中提取日期和时间。其他格式匹配。例如2016-12-24和2016/12/24的日期格式。date_reg_exp=re.compilett_Str=“”“2016年12月24日的圣诞节前夜与去年12月24号的圣诞节不同。”“”#根据规则查找所有日期并返回匹配_ list=date_reg_exp.findall#列出并打印匹配的日期格式介绍了Python的时间精确规则匹配方法,并对Python的时间格式规则匹配技术进行了比较分析,以供参考。

今天分享一个Python正则表达式匹配日期与时间的方法,因为最近在做的项目需要从字符串里面把日期时间提取出来。

不多说,直接上代码:

python正则表达式匹配中文日期时间第1张

import re
from datetime import datetime
#python正则表达式匹配中文日期时间

test_date = '他的生日是2016-12-12 14:34,是个可爱的小宝贝.二宝的生日是2016-12-21 11:34,好可爱的.'


test_datetime = '他的生日是2016-12-12 14:34,是个可爱的小宝贝.二宝的生日是2016-12-21 11:34,好可爱的.'


# date
mat = re.search(r"(d{4}-d{1,2}-d{1,2})",test_date)
print mat.groups()
# ('2016-12-12',)
print mat.group(0)
# 2016-12-12


date_all = re.findall(r"(d{4}-d{1,2}-d{1,2})",test_date)
for item in date_all:
    print item
# 2016-12-12
# 2016-12-21


# datetime
mat = re.search(r"(d{4}-d{1,2}-d{1,2}sd{1,2}:d{1,2})",test_datetime)
print mat.groups()
# ('2016-12-12 14:34',)
print mat.group(0)
# 2016-12-12 14:34


date_all = re.findall(r"(d{4}-d{1,2}-d{1,2}sd{1,2}:d{1,2})",test_datetime)
for item in date_all:
    print item
# 2016-12-12 14:34
# 2016-12-21 11:34
## 有效时间


# 如这样的日期2016-12-35也可以匹配到.测试如下.
test_err_date = '如这样的日期2016-12-35也可以匹配到.测试如下.'
print re.search(r"(d{4}-d{1,2}-d{1,2})",test_err_date).group(0)
# 2016-12-35


# 可以加个判断
def validate(date_text):
    try:
        if date_text != datetime.strptime(date_text, "%Y-%m-%d").strftime('%Y-%m-%d'):
            raise ValueError
        return True
    except ValueError:
        # raise ValueError("错误是日期格式或日期,格式是年-月-日")
        return False


print validate(re.search(r"(d{4}-d{1,2}-d{1,2})",test_err_date).group(0))
# false


# 其他格式匹配. 如2016-12-24与2016/12/24的日期格式.
date_reg_exp = re.compile('d{4}[-/]d{2}[-/]d{2}')


test_str= """
     平安夜圣诞节2016-12-24的日子与去年2015/12/24的是有不同哦.
     """
# 根据正则查找所有日期并返回
matches_list=date_reg_exp.findall(test_str)


# 列出并打印匹配的日期
for match in matches_list:
  print match


# 2016-12-24
# 2015/12/24

本文主要介绍了Python的时间精确规则匹配方法,并对Python的时间格式规则匹配技术进行了比较和分析,供有需要的朋友参考。用正则表达式精确匹配时间并不容易。

我的其他文章:

自然语言处理应用案例

AI在自然语言处理的主要步骤

python with as用法详解,一文看懂python3 with用法

免责声明:文章转载自《python正则表达式匹配中文日期时间》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C++ fstream文件读取操作【Unity】Shader Forge插件入门教程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

DataFrame和python中数据结构互相转换

楔子 有时候DataFrame,我们不一定要保存成文件、或者入数据库,而是希望保存成其它的格式,比如字典、列表、json等等。当然,读取DataFrame也不一定非要从文件、或者数据库,根据现有的数据生成DataFrame也是可以的,那么该怎么做呢?我们来看一下 DataFrame转成python中的数据格式 转成json DataFrame转成json,...

python第八天)——购物车作业优化完成

发现之前的三级菜单代码有BUG现已经修改过来了 购物车程序:启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表允许用户根据商品编号购买商品用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示用户下一次登录后,输...

python实现labelme样本自动标注

python实现labelme样本自动标注 前言 说明 正文 一、 json文件简介及相关API: 二、 特征区域检测及相应API 三、 计算偏移量以及标注框的新的点集 四、 json文件数据其他修改 前言 公司前段时间做一个项目,需要用到语义分割,样本很多,但是都没有标注,也没有让标注公司弄,只好自己标注,平均两分半一张,一天标200多张...

Java调用Python程序

最近,需要在应用中,需要使用Java程序去调用Python代码,主要有两种实现方式。 一、使用Jython架包 因为调用的Python代码中需要使用Json对象,开始使用jython2.5.2,发现不支持json。因此, 升级了最新的Jython2.7.0,发现可以支持。因此,要使用更多python库,建议使用更高版本的Jython包。 首先,添加Jyth...

python 工行 api 查询

最近学习python 又在做接口 于是找了N多资料 终于实现了 下面是代码 #-*-coding:gbk-*-importhttplibimportcookielibimporturllib2importurllib#用chilkat拆分pfx得到key,cert的pem格式key_file='chilkat_pkey.pem'cert_file='c...

【Python】Celery异步处理

参考:http://www.cnblogs.com/znicy/p/5626040.html 参考:http://www.weiguda.com/blog/73/ 参考:http://blog.csdn.net/iloveyin/article/details/44940931 django、celery、django-celery、kombu、amqp最...