Python时间的精准正则匹配方法分析


Posted in Python onAugust 17, 2017

本文实例讲述了Python时间的精准正则匹配方法。分享给大家供大家参考,具体如下:

要用正则表达式精准匹配时间,其实并不容易

方式一:

>>> import re
>>> t = '19:10:48'
>>> m = re.match(r'(.*):(.*):(.*)', t)
>>> m.groups()
('19', '10', '48')

方式二:

>>> t = '19:10:48'
>>> m = re.match(r'(\d{2}):(\d{2}):(\d{2})', t)
>>> m.groups()
('19', '10', '48')

比如上面的并不能精准匹配,比如说, 24:61:61显然不符合要求。

时(H), 0-23
分(M), 0-59
秒(S), 0-59
小时的精准匹配如下:  0?[0-9]|1[0-9]|2[0-3]
分钟的精准匹配如下:  0?[0-9]|[1-5][0-9]
秒钟的精准匹配如下:  0?[0-9]|[1-5][0-9]

完整的正则匹配就是:

>>> t = '23:59:08'
>>> p = re.compile(r'^(0?[0-9]|1[0-9]|2[0-3]):(0?[0-9]|[1-5][0-9]):(0?[0-9]|[1-5][0-9])$')
>>> s = p.search(t)
>>> s.groups()
('23', '59', '08')
Python 相关文章推荐
仅用50行Python代码实现一个简单的代理服务器
Apr 08 Python
Python函数式编程指南(一):函数式编程概述
Jun 24 Python
python实现发送和获取手机短信验证码
Jan 15 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
在PyTorch中Tensor的查找和筛选例子
Aug 18 Python
Python上下文管理器用法及实例解析
Nov 11 Python
python不到50行代码完成了多张excel合并的实现示例
May 28 Python
Python Flask框架实现简单加法工具过程解析
Jun 03 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
Nov 02 Python
Pycharm 跳转回之前所在页面的操作
Feb 05 Python
详解python的异常捕获
Mar 03 Python
Python基本知识点总结
Apr 07 Python
Python实现运行其他程序的四种方式实例分析
Aug 17 #Python
python进阶_浅谈面向对象进阶
Aug 17 #Python
Python 比较两个数组的元素的异同方法
Aug 17 #Python
python使用opencv读取图片的实例
Aug 17 #Python
CentOS下使用yum安装python-pip失败的完美解决方法
Aug 16 #Python
python3.4下django集成使用xadmin后台的方法
Aug 15 #Python
Django 如何获取前端发送的头文件详解(推荐)
Aug 15 #Python
You might like
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
PHP句法规则详解 入门学习
2011/11/09 PHP
php页面缓存方法小结
2015/01/10 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
js跨域和ajax 跨域问题的实现思路
2009/09/05 Javascript
jquery获得同源iframe内body下标签的值的方法
2014/09/25 Javascript
JavaScript列表框listbox全选和反选的实现方法
2015/03/18 Javascript
JavaScript获取表单enctype属性的方法
2015/04/02 Javascript
jQuery File Upload文件上传插件使用详解
2016/12/06 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
jQuery设计思想
2017/03/07 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
nodejs require js文件入口,在package.json中指定默认入口main方法
2018/10/10 NodeJs
基于Vue组件化的日期联动选择器功能的实现代码
2018/11/30 Javascript
详解vue中axios请求的封装
2019/04/08 Javascript
vue回到顶部监听滚动事件详解
2019/08/02 Javascript
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
使用JavaScript获取Django模板指定键值数据
2020/05/27 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
Python构造函数及解构函数介绍
2015/02/26 Python
从Python的源码来解析Python下的freeblock
2015/05/11 Python
Python六大开源框架对比
2015/10/19 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
python通过TimedRotatingFileHandler按时间切割日志
2019/07/17 Python
flask利用flask-wtf验证上传的文件的方法
2020/01/17 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
美工的岗位职责
2013/11/14 职场文书
名企HR怎样看待求职信
2014/02/23 职场文书
2019年家电促销广告语集锦
2019/10/21 职场文书
python爬虫请求库httpx和parsel解析库的使用测评
2021/05/10 Python
MySQL为id选择合适的数据类型
2021/06/07 MySQL
vue实现拖拽交换位置
2022/04/07 Vue.js