Sublime正则替换仅做字符串重写,需手动编写匹配模式:如"(d+)"→转数字、'(true|false)'→转布尔、"(d{4}-d{2}-d{2})"→new Date("")转日期;多字段SQL转JS对象需分步标记再人工校验。

Sublime 中正则替换不能自动推断数据类型,必须明确写出匹配模式;所谓“转换数据类型格式”,本质是字符串层面的结构重写,比如把 '123' 变成 123(去引号)、"true" 变成 true(去引号+小写)、或 2025-04-05 变成 new Date("2025-04-05")(加包装)。
匹配带引号的数字/布尔字面量并转为裸值
常见于 JSON 导出后粘贴进 JS 文件,但编辑器未自动解析,导致 "42"、"false" 仍为字符串。直接删引号会破坏其他字符串字段,必须精准限定上下文。
- 查找
"(d+)"→ 替换为:只匹配双引号包裹的纯数字,避免误伤"id-123" - 查找
'(true|false)'→ 替换为:单引号布尔值,注意括号内用竖线分隔,不是[true|false](那是字符集) - 若需同时处理单双引号,用
(["'])(true|false)→ 替换为,确保前后引号一致 - ⚠️ 风险:如果目标字段本身含转义引号(如
"He said "yes""),此法会错切——此时应先确认数据无嵌套引号
将日期字符串封装为 Date 对象调用
前端常需把 API 返回的 "2025-04-05" 转成 new Date("2025-04-05") 供 JS 运行时解析,手动加太慢。
- 查找
"(d{4}-d{2}-d{2})"→ 替换为new Date(""):严格匹配 ISO 格式,不碰"Apr 5, 2025" - 若需兼容
"2025/04/05",改用"(d{4}[-/]d{2}[-/]d{2})",但注意/在路径中可能冲突,建议优先统一源数据格式 - ⚠️ 注意:Sublime 不执行 JS,这只是文本替换;确保目标环境支持该 Date 构造函数(如 IE 不支持
new Date("2025-04-05"))
从 SQL INSERT 提取字段值并映射为 JS 对象键值对
数据库导出的 INSERT INTO users (name, age) VALUES ('Alice', 30); 想转成 {name: 'Alice', age: 30},需分离字段名与值。
- 先提取字段名:查找
INSERT INTO w+ (([^)]+))→ 替换为//FIELDS:(临时标记,方便后续定位) - 再匹配 VALUES 行:查找
VALUES (([^)]+));→ 替换为//VALUES: - 最后组合:查找
//FIELDS:([^\n]+)\n//VALUES:([^\n]+)(需开启(?s)跨行模式),替换为{}并手动按字段顺序拼接键值对——Sublime 无法自动对齐字段与值,这步仍需人工校验 - ⚠️ 关键限制:Sublime 正则不支持变量绑定或行列对齐,多字段场景下易错位,建议仅用于字段数少、顺序固定的数据
真正卡住人的往往不是正则语法,而是忘了开 .* 模式、捕获组编号数错、或把 写成 $1——每次替换前,先用 Ctrl+F 测试查找是否命中目标,比盲目替换安全得多。

















