vscode 批量将小驼峰(small camel)命名 更改为 蛇式命名snake 正则批量命名修改 最佳实践
创始人
2024-12-29 15:08:07
0

在我们平时的开发中,一般来说数据库中的字段命名都是蛇式命名,而我们的对象中的属性命名一般都是大驼峰命名, 利用强大的正则我们可以轻松的批量调整我们的字段的命名方式。

        如将 所有json tag中form中的字段都统一命名为snake形式, 即 `form:"noticeId" ` 批量修改为 `form:"notice_id" ` ,  在vscode中操作方式如下:

首先我们需要找出我们需要调整命名方式的字符的共性模式,即写出匹配正则。

小驼峰修改为snake, 如将 noticeId 修改为 notice_id


正则:\b([a-z]+)([A-Z]{1})([a-z]+)\b

替换表达式:$1_\L$2$3


注意正则里面的单词边界匹配符\b , 因为我们的要求是重新命名单词。 
这个是把所有的small camel小驼峰的命名都修改为snake命名, 实际操作中最好带上上下文,这样可确保更细粒度的匹配和替换。

如:form:"noticeId" 替换为  form:"notice_id" 我们就只替换form这个tag里面的命名
正则: form:"([a-z]+)([A-Z]{1})([a-z]+)"
替换: form:"$1_\L$2$3"

注意这里的 $1  $2 $3 是和上面的匹配项(即小括号中的内容)对应的

VScode 正则 批量重命名操作图示

执行批量替换后的效果

细心的你可能已经看到了,上面的  saveRemoteImg   delOutLinks 字段并没有被替换, 这个是因为,他和我们上面正则不匹配, 他属于3段的小驼峰命名, 我们的正则需要再加一段, 即:

正则: form:"([a-z]+)([A-Z]{1})([a-z]+)([A-Z]{1})([a-z]+)"
替换: form:"$1_\L$2$3_\L$4$5"

说明,相对上面的正则我们这里加了一个 ([A-Z]{1})([a-z]+) 替换里面加了一个 _\L$4$5

使用方式还和上面的一样,把正则放进去再次执行就OK了

其他命名方式的批量替换和上面的套路都一样, 该一下正则表达式即可, 如果要反过来也是一样的,修改正则表达式和替换表达式, 调整方法参见 正则 批量 命名转换 -- 大驼峰、小驼峰、蛇形和串式之间相互转换替换,字母字符串大小写批量查找 转换 替换_大写驼峰转成小写字母-CSDN博客

相关内容

热门资讯

10分钟辅助挂!搜圈麻将假不假... 10分钟辅助挂!搜圈麻将假不假“详细透视辅助助手教程”原来真的有挂,您好,搜圈麻将假不假这款游戏可以...
记者发布!福建十三水 辅助器(... 记者发布!福建十三水 辅助器(透视)透视辅助神器(2023已更新)(哔哩哔哩);1、福建十三水 辅助...
6分钟实锤!博雅红河棋盘外 挂... 您好,博雅红河棋盘外 挂这款游戏可以开挂的,确实是有挂的,需要了解加微【757446909】很多玩家...
八分钟辅助挂!微乐陕西麻将小程... 八分钟辅助挂!微乐陕西麻将小程序有猫腻吗“详细透视辅助脚本教程”原来真的有挂1、下载好微乐陕西麻将小...
必备科技!多乐够级捕鱼辅助软件... 必备科技!多乐够级捕鱼辅助软件(透视辅助)透明挂透视辅助挂(2023已更新)(哔哩哔哩)1、多乐够级...
让我来分享经验!胖猪竞技有外挂... 让我来分享经验!胖猪竞技有外挂没(辅助)确实存在有挂(2026已更新)(哔哩哔哩)胖猪竞技有外挂没辅...
七分钟攻略!七彩云南游戏有外 ... 七分钟攻略!七彩云南游戏有外 挂吗,wePoke原来真的是有挂,wpk教程(有挂细节)1)七彩云南游...
交流学习经验!老友广东麻将来牌... 交流学习经验!老友广东麻将来牌规律(透视)外挂透视辅助插件(2024已更新)(哔哩哔哩)1、在老友广...
13钟辅助挂!闲来贵州麻将可以... 13钟辅助挂!闲来贵州麻将可以挂吗“详细透视辅助app教程”原来真的有挂是一款可以让一直输的玩家,快...
9分钟攻略!乐乐上海麻将有没有... 9分钟攻略!乐乐上海麻将有没有挂,impoker本来有挂,黑科技教程(有挂教程)乐乐上海麻将有没有挂...