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

正则表达式开发需求:禁止全相同字符(含&分隔)及规则适配

修正后的正则表达式解决方案

针对你遇到的问题,以下是满足所有要求的正则表达式:

^(?=.{12,14}$)(?!(.)(?:&?\1)+$)(?![^&]*&[^&]*&)[A-Za-z0-9]*&?[A-Za-z0-9]*$

正则各部分解析

  • ^(?=.{12,14}$):正向断言,确保整个字符串(包含&)的长度严格在12-14位之间
  • (?!(.)(?:&?\1)+$):负向断言,禁止除&外所有字符完全相同的场景——捕获第一个非&字符后,检查后续内容要么是&要么是该字符,若整个字符串符合此模式则匹配失败(比如1111111&11111或AAAA&AAAAA都会被拦截)
  • (?![^&]*&[^&]*&):负向断言,确保字符串中最多只有一个&,禁止出现多个特殊字符
  • [A-Za-z0-9]*&?[A-Za-z0-9]*$:匹配主体内容,允许字母数字字符,最多包含一个&

示例验证

测试用例结果原因
111111111111不允许全相同字符
1111111&11111不允许除&外全为相同字符
111111111112允许长度合规,存在不同字符
1111111&11112允许长度合规,含一个&且有不同字符
ABC123567GHDG4允许长度合规,字母数字混合无&

原正则的问题说明

你当前使用的^(\d)(?!\1+$)(?=.{11,13}$)[0-9]*(?:[&][0-9]+)?$存在两个核心问题:

  1. 仅支持数字字符,未覆盖需求中的字母
  2. 仅检查了无&场景下的全相同字符,无法识别被&分隔但其余字符全相同的情况(比如1111111&11111)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 13:03:28