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

Javascript使用RegExr正则替换时如何跳过首位置匹配实现驼峰转下划线

正则调整方案

你可以通过负向后行断言限定跳过首位置的大写字母,调整后的正则为 /(?<!^)[A-Z]/g,完整代码如下:

str.replace(/(?<!^)[A-Z]/g, letter => `_${letter.toLowerCase()}`)

正则规则说明

  • (?<!^) 是负向后行断言,要求当前匹配的大写字母的前一个位置不能是字符串起始位,自然就跳过了首字符的大写匹配
  • [A-Z] 匹配所有大写英文字母
  • g 全局匹配标识,处理字符串内所有符合规则的字符

旧环境兼容方案

如果运行环境不支持ES2018引入的后行断言语法,可以拆分处理首字符和剩余字符:

const result = str[0] + str.slice(1).replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 03:06:04