如何用正则OR操作符批量转换两种日期格式的文件名?
批量重命名两种日期格式的文件解决方案
正则完全支持嵌套分组,而且可以通过分支分组的方式一次性处理你提到的两种日期格式转换需求。
具体实现步骤
- 正则匹配表达式:
^(\d{2})\.(\d{2})\.(\d{4})|^(\d{4})\.(\d{2})\.(\d{2})
这个正则通过|分隔两个分支,分别匹配两种目标日期格式:
- 第一个分支
^(\d{2})\.(\d{2})\.(\d{4})匹配dd.mm.yyyy格式,其中:$1= 日(dd),$2= 月(mm),$3= 年(yyyy)
- 第二个分支
^(\d{4})\.(\d{2})\.(\d{2})匹配yyyy.mm.dd格式,其中:$4= 年(yyyy),$5= 月(mm),$6= 日(dd)
- 替换表达式:
$3$4-$2$5-$1$6
替换逻辑:
- 当匹配
dd.mm.yyyy时,$4/$5/$6为空,最终得到$3-$2-$1(即yyyy-mm-dd) - 当匹配
yyyy.mm.dd时,$1/$2/$3为空,最终得到$4-$5-$6(同样是yyyy-mm-dd)
示例验证
- 原文件名:
05.07.2020-abc.pdf→ 匹配第一个分支,替换后:2020-07-05-abc.pdf - 原文件名:
2020.07.05-pqr.pdf→ 匹配第二个分支,替换后:2020-07-05-pqr.pdf
注意事项
在Solid Explorer的批量搜索替换功能中,记得勾选正则表达式选项,确保^锚定符能正确匹配文件名开头的日期部分。
内容的提问来源于stack exchange,提问作者NotSenecaYet
相关产品推荐
相关产品推荐

