如何用VSCode正则将PHP下划线命名变量转为camelCase
在VSCode中仅将PHP的$snake_case变量转为camelCase的正则方法
问题说明
之前用VSCode把snake_case转camelCase的方法会修改所有含下划线的文本,现在需要只针对PHP中以$开头的变量做转换——比如把$is_data改成$isData,同时完全保留_construct这类非变量内容。
操作步骤
1. 打开替换面板
- Windows/Linux:按下
Ctrl+H - Mac:按下
⌥⌘F
2. 开启正则表达式模式
- Windows/Linux:按下
Alt+R - Mac:按下
⌥⌘R
3. 输入正则搜索规则
在搜索框里填:
(\$[a-zA-Z]+)_([a-zA-Z])
这个规则只会匹配$开头的变量内部的下划线,不会碰_construct这类独立的下划线开头内容。
4. 设置替换内容
切换到替换框,输入:
$1\U$2\E
$1对应变量里下划线之前的部分(比如$is_data里的$is)\U$2\E会把下划线后面的字母直接转为大写(比如把d变成D)
5. 完成批量替换
- 替换当前文件所有匹配项:点击面板里的「全部替换」按钮(或按
Alt+Enter/Mac:⌥Enter) - 逐个确认替换:点击「替换」按钮逐一处理
适配原方法的分步操作
如果习惯原方法先选再转大写的逻辑,也可以这么做:
- 打开替换面板并开启正则模式
- 搜索框输入:
(\$[a-zA-Z]+)_([a-z]) - 替换框输入:
$1$2 - 按
Alt+Enter(Mac:⌥Enter)选中所有匹配的下划线后小写字母 - 按
F1,输入upper并选择「转换为大写」命令 - 按
Ctrl+Alt+Enter(Mac:⌥Enter)完成转换
内容的提问来源于stack exchange,提问作者Mr. Kenneth
相关产品推荐
相关产品推荐

