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

正则表达式能否将前序匹配内容作为后续分组的长度限制?

正则实现动态长度匹配:用首分组数值限制后续字符长度

最终正则表达式

^([1-9]|[1-9]\d|1[01]\d|12[0-8]),[0-4]{\1}$

规则说明

  • 首分组校验:([1-9]|[1-9]\d|1[01]\d|12[0-8]) 精准匹配1-128的正整数,同时排除前导零(如05)和超出范围的数值(如129)。
  • 分隔符:逗号, 作为固定分隔符,无需额外限定{1}(默认单次匹配)。
  • 动态长度校验:[0-4]{\1} 中\1反向引用首分组捕获的数值,强制后续字符只能是0-4,且长度严格等于首分组的数字。
  • 锚定整个字符串:^和$确保从开头到结尾的全部内容都符合规则,避免部分匹配。

测试验证

  • 有效示例:15,000000001111111(逗号后共15个0-4字符)→ 匹配成功。
  • 无效示例:15,00000000111111(逗号后仅14个字符)→ 匹配失败。
  • 边缘测试:128,后接128个0-4字符→匹配;0,xxxx/129,xxxx→均不匹配。

注意:该正则基于PCRE引擎编写,regex101平台默认支持(可在左侧引擎选项中确认选择PCRE2)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 08:25:21