繁体   English   中英

如何使用python regex库从字符串中查找日期和时间?

[英]How to use python regex library to find date and time from a string?

给定一个文本:

start_KA03MM7155_RKMS121MI4-4.21005_NEW_end, 2018-01-02 09:48:23

我如何提取2018-01-02020118的变量, 09:48:23094823中使用python另一个变量?

如果字符串中的日期遵循YYYY-MM-DD或YYYY-MM-DD模式,请提取日期字段的代码

import re
text = 'start_KA03MM7155_RKMS121MI4-4.21005_NEW_end, 2018-01-02 09:48:23'
result = re.search('(\d{4}-\d{2}-\d{2})', text).group(0)
print('result: ', result)

result: 2018-01-02
然后您就可以根据情况操纵字符串以获得所需的输出

split_data = d.split('-') #split the string
date_pattern = split_data[-1] + split_data[-2] + split_data[-3][-2:]
print('date Pattern: ', date_pattern)

date Pattern: 020118
只需在正则表达式模式中进行少量更改即可计时

time_pattern = re.search('(\d{2}:\d{2}:\d{2})', a).group(0).replace(':', '')
print('time_pattern: ', time_pattern) 

time_pattern: 094823
简要说明:
\\d寻找数字
\\d{4}匹配4位数字
(\\d{4}-\\d{2}-\\d{2})查找具有(4位数字)-(2位数字)-(2位数字)的组
要了解有关正则表达式的更多信息,请点击官方链接

快速而肮脏的方式

date = re.sub('-', '', re.findall('\d{4}-\d{2}-\d{2}',a)[0]) # '20180102'
time = re.sub(':', '', re.findall('\d{2}:\d{2}:\d{2}',a)[0]) # '094823'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM