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

VS Code代码片段:驼峰文件名转连字符小写的正则表达式需求

VS Code代码片段:驼峰文件名转连字符小写的正则方案

完整实现写法

在VS Code代码片段中,你可以用以下两种方式完成需求,一次性实现连字符插入+全小写转换:

方式1:捕获组内直接转小写(更高效)

${TM_FILENAME_BASE/(.)([A-Z])/${1}-${2:/downcase}/g}

方式2:全局结果转小写

${TM_FILENAME_BASE/(.)([A-Z])/${1}-${2}/g | toLowerCase}

细节解释

  • TM_FILENAME_BASE是VS Code内置变量,用于获取不带扩展名的文件名
  • 正则(.)([A-Z]):匹配任意字符后紧跟大写字母的位置,同时兼容小驼峰(如myFileName)和大驼峰(如MyFileName)场景
  • ${2:/downcase}:VS Code专属的替换修饰符,直接将第二个捕获组的大写字母转为小写
  • g修饰符:全局替换所有符合条件的位置,避免仅处理第一个匹配项

对你初始正则的优化

你写的([a-z])([A-Z])/$1-$2/逻辑是正确的,但仅能匹配小驼峰(前面是小写字母的情况)。如果要兼容大驼峰文件名(如MyFileName),换成(.)([A-Z])更通用——它会匹配任意字符后的大写字母,包括开头的大写字母,再配合转小写修饰符就能得到全小写的连字符格式。

示例验证

输入文件名myFileName:

  • 正则匹配yF和eN两个位置
  • 替换后直接得到目标格式my-file-name(方式1直接把F和N转小写;方式2先得到my-FileName再全局转小写)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:12:16