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

如何从拼接或带空格的日期字符串中提取指定格式的单个日期

问题排查与解决方案

错误原因

你使用的正则表达式添加了^(字符串起始)和$(字符串结束)锚位,只能匹配完全符合格式的整段字符串,无法从长串中提取多个符合规则的日期子串,因此返回空结果。

可用实现方案

方案1:正则匹配(推荐,兼容带/不带空格的两种输入格式)

直接移除正则的起止锚位,调用re.findall全局匹配所有符合规则的日期段即可:

import re

# 测试无空格拼接的输入
input1 = '5Nov20217Dec202110Jan2022'
result1 = re.findall(r'\d{1,2}[a-zA-Z]{3}\d{4}', input1)
print(result1) # 输出:['5Nov2021', '7Dec2021', '10Jan2022']

# 测试带空格分隔的输入
input2 = '5Nov2021 7Dec2021 10Jan2022'
result2 = re.findall(r'\d{1,2}[a-zA-Z]{3}\d{4}', input2)
print(result2) # 输出:['5Nov2021', '7Dec2021', '10Jan2022']

方案2:非正则实现(仅适用于所有日期都用空格分隔的输入场景)

如果你的输入统一为空格分隔格式,直接调用字符串拆分方法即可:

input_str = '5Nov2021 7Dec2021 10Jan2022'
result = input_str.split()
print(result) # 输出:['5Nov2021', '7Dec2021', '10Jan2022']

内容的提问来源于stack exchange,提问作者atr1

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 15:45:00