.NET正则表达式允许3个重复的字符

时间:2016-05-26 16:06:35

标签: .net regex criteria

我正在尝试使用以下条件创建一个.NET正则表达式,但没有去。我所拥有的只是下面的正则表达式。任何帮助将不胜感激!!

  1. 8-15个字符(字母或数字,不区分大小写)
  2. 允许最多3个重复字符或数字
  3. 没有特殊字符或符号
  4. 这就是我所拥有的:

    pattern refl₁ = (refl , _)
    
    ≈-sym : Symmetric _≈_
    ≈-sym refl₁ = refl₁
    

1 个答案:

答案 0 :(得分:2)

这个正则表达式将起作用

^(?=.{8,15}$)(?!.*?(.)\1{3})[A-Za-z0-9]+$

<强> Regex Demo

正则表达式细分

^ #Start of string
(?=.{8,15}$) #Lookahead to check there are 8 to 15 digits
(?!.*?(.)\1{3}) #Lookahead to determine that there is no character repeating more than thrice
[A-Za-z0-9]+ #Match the characters
$ #End of string

对于unicode支持,您可以使用

^(?=.{8,15}$)(?!.*?(.)\1{3})[\p{L}\p{N}]+$

注意: - 对于匹配一个字符和一个数字,您可以使用

^(?=.{8,15}$)(?=.*[A-Za-z])(?=.*\d)(?!.*?(.)\1{3})[A-Za-z0-9]+$

<强> Regex Demo