正则表达式最少 4 个字符且无重复

RegEx minimum 4 characters with no repetition

正在尝试创建一个正则表达式,其中字段应至少包含 4 个字符(仅限字母表 [a-zA-Z]),其中

  1. 前 4 个字母不应重复。例如 aaaa,zzzz 不可接受
  2. 前 4 个字符不应包含 space、数字、特殊字符
  3. 之后一切正常

我尝试了以下表达式,但 1 个案例失败了,即 (a123,a@#!): ^(?=.{1,4}$)(([a-zA-Z]){1,4}\2?(?!\2))+[a-zA-Z0-9!@#$ &()\-`.+,"]

您可以将模式写为:

^(?!(.){3})[a-zA-Z]{4}.*

说明

  • ^ 字符串开头
  • (?!(.){3}) 否定前瞻,断言不是 4 个相同的字符
  • [a-zA-Z]{4} 匹配 4 个字符 a-z A-Z
  • .* 匹配行的其余部分

Regex demo