You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python regex库提取字符串中的日期时间并转换指定格式?

使用Python正则提取并转换字符串中的日期时间

没问题,这就给你一步步讲清楚怎么用Python的re库搞定这个需求:

首先咱们的目标字符串是:
start_KA03MM7155_RKMS121MI4-4.21005_NEW_end, 2018-01-02 09:48:23

实现步骤:

  • 导入正则库:先导入Python内置的re模块,这是处理正则匹配的基础。
  • 编写匹配正则:要精准匹配YYYY-MM-DD HH:MM:SS格式的日期时间,用分组捕获每个部分,正则表达式可以写成:
    r'(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})'
    
    每个括号对应一个分组,分别是年、月、日、时、分、秒。
  • 执行匹配提取:用re.search()方法在目标字符串里定位到匹配的日期时间片段。
  • 转换格式并存储:从匹配结果里取出各个分组,按要求拼接成目标格式后存入变量。

完整代码示例:

import re

# 目标字符串
target_str = "start_KA03MM7155_RKMS121MI4-4.21005_NEW_end, 2018-01-02 09:48:23"

# 定义正则表达式
pattern = r'(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})'

# 查找匹配项
match_result = re.search(pattern, target_str)

if match_result:
    # 提取各个分组内容
    year, month, day = match_result.group(1), match_result.group(2), match_result.group(3)
    hour, minute, second = match_result.group(4), match_result.group(5), match_result.group(6)
    
    # 转换日期格式为 DDMMYY
    formatted_date = f"{day}{month}{year[-2:]}"
    # 转换时间格式为 HHMMSS
    formatted_time = f"{hour}{minute}{second}"
    
    # 验证结果
    print(f"转换后的日期: {formatted_date}")  # 输出 020118
    print(f"转换后的时间: {formatted_time}")  # 输出 094823
else:
    print("未找到匹配的日期时间格式")

代码说明:

  • re.search(pattern, target_str)会在字符串中找到第一个符合正则的片段,返回匹配对象。
  • match_result.group(n)用来获取第n个分组的内容,比如group(1)是年份2018,group(3)是日期02。
  • year[-2:]取年份的后两位18,和月、日拼接成020118;时间部分直接去掉冒号拼接成094823。

内容的提问来源于stack exchange,提问作者Amar Bir Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:21:52