正则转换驼峰命名需精准识别大小写边界:小写/数字后接大写(如userName→user_Name),再转小写;连续大写缩写(如XMLHttpRequest)须先预处理为xml_Http_Request,再执行基础规则;下划线转驼峰匹配_+[a-z]→首字母大写,注意作用域避免误改注释、字符串等内容。

正则表达式转换驼峰命名法,关键在于精准定位大小写边界,而不是简单替换大写字母。用错模式会导致 XMLHttpRequest 变成 x_m_l_h_t_t_p_request,或漏掉 userID 中的 ID。
基础驼峰转下划线:匹配小写/数字后接大写
这是最常用也最安全的起点。目标是识别「小写字母或数字后面紧跟大写字母」这一结构。
- 查找内容:
([a-z0-9])([A-Z]) - 替换为:
$1_$2 - 务必勾选 Match Case 和 Regex 选项
- 示例:
userName→user_Name,再经小写处理得user_name
处理连续大写字母缩写
像 userID、XMLHttpRequest 这类含多个连续大写字母的情况,需额外一步预处理。
- 先运行:
([A-Z]+)([A-Z][a-z])→ 替换为$1_$2 - 再运行基础规则:
([a-z0-9])([A-Z])→$1_$2 - 最后统一转小写(多数编辑器支持替换后自动小写,或额外加
.toLowerCase()) - 这样
XMLHttpRequest会变成xml_http_request,而非错误切分
下划线转驼峰:小写+下划线+小写 → 小写+大写
适用于 get_user_info → getUserInfo 这类转换。
- 查找内容:
_([a-z]) - 替换为:
\U$1(Notepad++)或$1.toUpperCase()(JS) - 注意:只匹配下划线后跟小写字母,避免误动
_id或开头下划线 - 若要转为大驼峰(PascalCase),可额外对首字母单独处理
实际操作避坑要点
工具再强,选错范围也会白忙。批量转换必须控制作用域。
- 别直接
Ctrl+A全选文件——注释、字符串、HTML 属性值里的驼峰名会被误伤 - 推荐先搜
\b[a-z]+[A-Z][a-zA-Z0-9]*\b,逐个跳转并Ctrl+D多光标累加选中 - JSON 键名带引号,应搜
"([a-zA-Z][a-zA-Z0-9]*)",再用Alt+Shift+→只选中捕获组部分 - 连点号变量如
user.name,切勿全选;只选中标识符(如user和name分开操作)

















