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

Sublime Text自定义AutoFormat:如何为批量Regex替换设快捷键格式化SQL

多组正则批量替换一键执行实现方案

完全可以实现将多组正则替换操作绑定为一组批量执行,也支持绑定快捷键一键触发,不同使用场景的实现方式如下:

常用编辑器实现方案

  • VS Code:安装 Replace Rules 插件,将你需要的正则替换规则按插件要求配置到settings.json中,支持指定仅SQL类型文件生效,配置完成后可自定义绑定触发快捷键。
  • Notepad++:使用自带的宏录制功能,手动按顺序完成所有正则替换操作后保存宏,即可给该宏设置自定义快捷键,后续打开SQL文件按下快捷键就能自动跑完所有替换步骤。
  • JetBrains系工具(DataGrip、IDEA等):可直接使用自带的「结构搜索和替换」功能创建规则组,也可录制操作宏绑定快捷键,也可以通过 String Manipulation 插件配置批量替换规则。

无编辑器依赖实现方案

你也可以自己写轻量脚本实现,比如写Python脚本读取目标SQL文件,按顺序执行所有正则替换逻辑后输出格式化后的文件,使用时直接运行脚本即可,还可以配置右键菜单入口,点击即可直接处理选中的SQL文件。


可直接使用的SQL格式化正则规则

以下是分享的SQL清理正则规则,注释标注规则用途,第一行为匹配规则,第二行为替换值:

-- 在=、+、*、/等运算符前后添加空格
([@\w\d'")\]])([+=*\/]|<>|<=|>=|>|<)(['"@\w\d(-\[])
$1 $2 $3

-- 移除行尾多余空格
([-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/\d\w])\h+$
$1

-- 在减号前后添加空格(不会在字母后添加,避免和连词符混淆)
([\d)\]])([-])([\w\d(\[])
$1 $2 $3

-- 字母、括号、引号后的逗号后添加空格
([)\w\d'")])([,])([\w\d'"(@])
$1$2 $3

-- 修复添加空格后注释里的日期格式被破坏的问题
\* *(Created on: )?(\d{1,2}) *\/ *(\d{1,2}) *\/ *(\d)
* $1$2/$3/$4

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:06:03