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

如何从字符串中提取指定格式的日期:文件名提取8位日期实现方案

文件名8位日期提取方案

核心匹配规则

调整正则表达式,限定只匹配刚好8位的连续数字片段,规则写为:\b\d{8}\b

  • \d 等价于你原来用的[0-9],用于匹配任意数字字符
  • {8} 限定前面的匹配项必须连续出现刚好8次
  • \b 是单词边界符,避免从更长的连续数字串里误截取中间的8位片段

常用场景代码示例

Python 实现

import re

filename = "test_result_20210930.xlsx"
match_res = re.search(r'\b\d{8}\b', filename)
if match_res:
    date = match_res.group()
    # 验证输出:print(date) 得到 20210930

Bash 脚本实现

filename="test_result_20210930.xlsx"
date=$(echo "$filename" | grep -oE '\b[0-9]{8}\b')
# 验证输出:echo $date 得到 20210930

优化建议

如果你的文件名格式固定为前缀_日期.后缀,可以进一步优化匹配规则降低误匹配概率:

  • 可以将正则调整为_(\d{8})\.[^.]+$,直接定位到扩展名之前、下划线之后的8位数字,哪怕文件名其他位置出现8位数字也不会被误取
  • 提取完成后可以增加日期合法性校验,比如判断月份是否在1-12区间、日期是否符合对应月份的取值范围,避免把随机生成的8位数字当成日期处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:42:02