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

正则表达式需求:禁止全同字符(含&分隔)及多规则校验

符合特定规则的正则表达式解决方案

核心规则明确

  • 允许字符:大写字母(A-Z)、数字(0-9),且恰好包含1个&
  • 长度限制:整体字符串长度为12-14位(包含&)
  • 位置限制:&不能出现在字符串的首尾
  • 特殊拦截:禁止所有非&字符完全相同(例如1111111&11111这类场景必须拦截)

最终正则表达式

^(?!([A-Z0-9])\1*&\1*$)(?=[A-Z0-9]*&[A-Z0-9]*$)(?!^&|&$)[A-Z0-9&]{12,14}$

规则匹配拆解

  1. ^(?!([A-Z0-9])\1*&\1*$)
    负向前瞻规则,专门拦截非&字符全相同的场景:

    • 捕获第一个非&字符作为基准([A-Z0-9])
    • 验证后续内容是否为「基准字符重复 + 单个& + 基准字符重复」的结构,是则直接排除
  2. (?=[A-Z0-9]*&[A-Z0-9]*$)
    正向前瞻规则,确保字符串中恰好存在1个&,且&前后只能是允许的字母/数字

  3. (?!^&|&$)
    负向前瞻规则,直接排除&位于字符串开头或结尾的情况

  4. [A-Z0-9&]{12,14}$
    最终长度与字符范围限制,确保整体长度在12-14位之间,且仅包含允许的字符

示例验证

符合要求的字符串

  • ABC123567GHDG4:长度14位,仅含大写字母与数字,无&,满足规则
  • 1111111&11112:包含1个&且不在首尾,非&字符不全相同,长度12位,满足规则

被拦截的字符串

  • 111111111111:无&且所有字符相同,触发第一部分拦截规则
  • &125478556325:&位于开头,触发第三部分拦截规则
  • 1111111&11111:非&字符全为1,触发第一部分拦截规则

内容的提问来源于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:22:16