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

如何调整小驼峰camelCase正则表达式以支持中间包含大写首字母缩写

小驼峰正则适配连续大写缩写方案

调整后最终正则

^[a-z]+(?:[A-Z0-9]+[a-z0-9]*)*$

如果需要完全兼容原正则末尾允许单个大写字母的逻辑,也可以使用更贴合原规则的版本:

^[a-z]+((\d)|([A-Z0-9]+[a-z0-9]*))*([A-Z])?$

调整逻辑说明

原正则不支持中间连续大写的核心原因是:原规则要求每个大写开头的片段后面必须跟至少1个小写字母/数字,类似HTTP这种纯大写的缩写段没有匹配出口,因此会匹配失败。
调整后的规则保留了小驼峰的基础要求,同时放开了对连续大写片段的限制:

  • 开头强制为1个及以上的小写字母,符合小驼峰命名的基础规范
  • 后续片段支持两种合法格式:
    • 纯大写/数字的缩写段,比如HTTP、IPv6、IOS
    • 大写开头、后续跟小写/数字的普通驼峰段,比如Request、Customer
  • 完全兼容原正则覆盖的所有匹配场景,同时新增支持中间带连续大写缩写的命名格式

匹配测试验证

可以同时覆盖两类场景:

原正则已支持的场景

xmlHttpRequest
newCustomerId
innerStopwatch
supportsIpv6OnIos
youTubeImporter
youtubeImporter
affine3D

新增支持的连续大写场景

xmlHTTPRequest
userIOSDevice
payAPIConfig

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:36:06