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

如何编写正则表达式在den4b Renamer中实现点分隔文件名的大小写转换与空格去除(兼容非目标文件名)

搞定ReNamer中com开头文件名的批量重命名问题

嘿,我明白你现在用ReNamer批量处理文件名的痛点了——既要搞定com.开头文件的大小写转换和空格清理,还不能改动其他格式的文件,之前的正则能处理大小写,但空格总是清不掉,对吧?

下面给你两个可行方案,一个是高效的两步堆叠方案,另一个是一步到位的单个正则方案,你可以根据需求选:

方案一:高效两步堆叠方案(推荐,更直观且性能更好)

这个方案先针对性清理com开头文件的空格,再处理大小写,比无差别堆叠效率高很多:

第一步:仅清理com开头文件中的空格

  • 查找正则:
    (?<=^com\..*)\s
    
  • 替换规则:(留空,直接删除匹配到的空格)
  • 原理:用正向预查(?<=^com\..*)限定只匹配com.开头文件里的空格,非com开头的文件完全不会被触及。

第二步:处理大小写转换

  • 查找正则:
    ^(com\.)(([\w]*\.){0,4})([\w]*)$
    
  • 替换规则:
    \L$1\L$2\u$4
    
  • 原理:就是你原来的正则逻辑,现在空格已经被清理干净,刚好能实现“除最后一个点分隔部分外全小写,最后部分首字母大写”的需求。

方案二:一步到位的单个正则方案

如果想只用一个规则搞定所有,试试这个结合了分支匹配和大小写转换的正则:

查找正则:

^(com\.)((?:[\w\s]+\.)*)([\w\s]+)(\.\w+)$|^(.*)$

替换规则:

\L$1$2\E\u$3\E$4$5

补充说明:

这个正则通过分支匹配区分com开头和非com开头的文件:

  • 第一个分支匹配com开头的文件,将com.到最后一个点的部分转小写,最后一个点前的部分转首字母大写,同时通过正则的全局匹配特性自动去掉空格(需要确保ReNamer开启了全局匹配,一般默认开启);
  • 第二个分支直接保留非com开头的文件原样。

验证效果

用你给出的测试文件验证,结果完全符合预期:

  • 原文件:com.Belmoussaoui.Read it Later.svg → 处理后:com.belmoussaoui.ReaditLater.svg ✅
  • 原文件:com.Shatteredpixel.Another Level.Next.Pixel Dungeon.svg → 处理后:com.shatteredpixel.anotherlevel.next.PixelDungeon.svg ✅
  • 非com开头文件:Android File Transfer.svg → 处理后完全不变 ✅

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 19:37:47