zoukankan      html  css  js  c++  java
  • python正则表达式匹配中文日期时间

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

    不多说,直接上代码:

    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用法

  • 相关阅读:
    SmartPlant Review 渲染模块低性能设置
    由浅入深:Python 中如何实现自动导入缺失的库?(转)
    itchat初步解读登录(转)
    转:【开源必备】常用git命令
    2.转发。基于itchat的微信消息同步机器人
    1、初学探讨PYTHON的itchat和wxpy两库
    学习git 新手。这个写的不错
    常见的内置错误及处理
    面试题记录1
    防抖
  • 原文地址:https://www.cnblogs.com/phploser/p/13047456.html
Copyright © 2011-2022 走看看