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

如何用正则表达式仅替换文件名开头日期中的连字符?

正则解决方案

核心思路

只针对文件名开头的yyyy-mm-dd格式日期中的连字符进行替换,不影响后续内容里的“-”,以下是两种实用方案:


方案1:捕获组替换(兼容性强,适配多数工具)

匹配正则:

^(\d{4})-(\d{2})-(\d{2})

替换为:

$1$2$3

说明:

  • ^ 锚定文件名开头,确保只匹配最前面的日期部分
  • (\d{4}) 捕获4位年份,(\d{2}) 分别捕获2位月份和日期
  • 替换时直接拼接三个捕获组,自动去掉中间的“-”

示例效果:

原文件名:2002-01-24 This-is-a-file-001002
替换后:20020124 This-is-a-file-001002


方案2:正向预查替换(适合支持PCRE的工具,如Notepad++、Python等)

匹配正则:

-(?=\d{2}(?:-\d{2})?\s|$)

替换为:

(空字符串,直接删除匹配到的“-”)

说明:

  • -(?=...) 正向预查规则,只匹配满足以下条件的“-”:
    • 后面跟着2位数字,可选再跟一个“-”加2位数字,最后是空格(对应日期后跟其他内容的情况)
    • 或者“-”位于文件名末尾(对应纯日期命名的文件,如2023-10-05)
  • 无需捕获组,精准定位日期内的连字符直接删除

工具适配提示

  • 批量重命名工具(如Windows批量重命名、Total Commander)优先选方案1,多数工具原生支持捕获组替换
  • 文本编辑器处理文件名列表时,可根据工具支持的正则语法任选一种方案

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 01:36:21