Regex 和的正则表达式#

Regex 和的正则表达式#,regex,Regex,我需要像这样的表达 只接受6个字符 数字和字母数字允许类似(ABCDEF或123456) _(仅允许在2和3位置)和仅允许2下划线。比如(1_u_456) #(仅允许在3和4位置)且仅允许2个哈希。比如(12#56) “和”不会同时来。比如(不允许1#45) 也许有更干净的方法可以做到这一点,但这对我来说是可行的: ^([a-zA-Z0-9]{6})|([a-zA-Z0-9]\_{2}[a-zA-Z0-9]{3})|([a-zA-Z0-9]{2}\#{2}[a-zA-Z0-9]{2})$ 下面

我需要像这样的表达

  • 只接受6个字符
  • 数字和字母数字允许类似(ABCDEF或123456)
  • _(仅允许在2和3位置)和仅允许2下划线。比如(1_u_456)
  • #(仅允许在3和4位置)且仅允许2个哈希。比如(12#56)
  • “和”不会同时来。比如(不允许1#45)

  • 也许有更干净的方法可以做到这一点,但这对我来说是可行的:

    ^([a-zA-Z0-9]{6})|([a-zA-Z0-9]\_{2}[a-zA-Z0-9]{3})|([a-zA-Z0-9]{2}\#{2}[a-zA-Z0-9]{2})$
    

    下面的monster regex应该可以做到这一点:-

    ^([0-9A-Z][_0-9A-Z]{2}[0-9A-Z]{3})$|([0-9A-Z]{2}[#0-9A-Z]{2}[0-9A-Z]{2})$
    

    (老实说,对于正则表达式来说,这不是一个好问题。请尝试一系列不错的规则测试(或一系列正则表达式)