如何在正则表达式中特别提及避免6个字符?

问题描述 投票:0回答:2

所以我想要一个正则表达式,它可以接受数字或字母字符。如果数字是1且可以是3到8个字符,但长度不能为6。如果是字母,则可以是3到6个字符。

这是我现在正在使用的。我的问题是,如果是数字,如何避免使用6个字符的长度?

      ("^[1][0-9]{2,7} | [A-Za-z]{3,6})$")

有人可以建议我吗?

regex angular nsregularexpression
2个回答
0
投票

只需将数字部分分为两个子部分:

("^([1]([0-9]{2,4}|[0-9]{6,7}) | [A-Za-z]{3,6})$")


0
投票

您可以使用

^(?![0-9]{6}$)(?:1[0-9]{2,7}|[a-zA-Z]{3,6})$

请参见regex demo

详细信息

  • ^-字符串开头
  • [(?![0-9]{6}$)-不允许使用6位数字的字符串]
  • (?:1[0-9]{2,7}|[a-zA-Z]{3,6})-要么
    • [1[0-9]{2,7}-1然后是2到7位数字
    • |-或
    • [[a-zA-Z]{3,6}-三到六个ASCII字母]
  • [$-字符串结尾
© www.soinside.com 2019 - 2024. All rights reserved.