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

使用JavaScript正则表达式正确拆分驼峰字符串的实现方法

问题原因

你现有代码的正则匹配逻辑每次仅捕获单个大写字母开头的片段,导致连续大写字母会被拆分为多个独立条目,不符合连续大写作为一个整体的拆分需求。

修复后的实现

CamelCaseSplit = (inputString) => {
    const f = str => str.match(/[A-Z]+(?=[A-Z][a-z])|[A-Z][a-z0-9]*|[^A-Z]+/g).join(' <CAMEL> ');
    return f(inputString);
}

正则规则说明

  • [A-Z]+(?=[A-Z][a-z]):匹配连续大写字母片段,仅当该片段后紧跟「大写+小写」的组合时生效,用于提取ABCWord里的ABC这类前缀连续大写内容
  • [A-Z][a-z0-9]*:匹配单个大写字母开头,后续跟小写字母/数字的片段,用于提取De、F123、Word这类片段
  • [^A-Z]+:匹配开头所有非大写字母组成的前缀片段,用于提取abc、camel、number1这类小写/数字开头的内容

效果验证

输入值输出值是否符合预期
ABCWordDEFABC <CAMEL> Word <CAMEL> DEF是
abcDeF123abc <CAMEL> De <CAMEL> F123是
camelCasecamel <CAMEL> Case是
simplesimple是
number1Case2number1 <CAMEL> Case2是

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:21:00