如何修改正则表达式实现Den4b Renamer中驼峰命名批量分隔?
解决Den4b Renamer一次性分隔所有驼峰命名的正则方案
正则表达式
使用正向预查实现全局替换,无需重复执行规则:
- 查找正则:
([a-z])(?=[A-Z]) - 替换规则:
$1
原理说明
你原来的正则([A-Z])([a-z]+)([A-Z])只能匹配一处完整的「大写+小写+大写」组合,替换时会消耗掉第三个捕获的大写字母,导致后续驼峰对无法被同一次规则匹配。
而正向预查(?=[A-Z])是零宽度断言,它仅检查当前位置后是否为大写字母,不会消耗该大写字符,因此能一次性匹配所有「小写字母紧跟大写字母」的位置,在两者之间插入空格。
效果验证
- 原文件名:
230 VuduCumuloNimbo public.ens→ 替换后:230 Vudu Cumulo Nimbo public.ens - 原文件名:
DreamDroneFinale.ens→ 替换后:Dream Drone Finale.ens
注意事项
确保Den4b Renamer的正则设置中开启了全局匹配(多数工具默认全局替换,若未生效可检查工具的正则选项)。
内容的提问来源于stack exchange,提问作者fmotion1
相关产品推荐
相关产品推荐

