2016-05-26 9 views
2

Ich versuche, einen regulären .NET-Ausdruck mit den folgenden Kriterien, aber nicht zu erstellen. Alles was ich habe ist der unten stehende reguläre Ausdruck. Jede Hilfe würde sehr geschätzt werden !!.NET Regulärer Ausdruck erlauben 3 wiederholte Zeichen

  1. 8-15 Zeichen (alphanumerisches und nicht zwischen Groß- und Klein)
  2. maximal 3 wiederholten Zeichen oder erlaubt Zahlen
  3. keine Sonderzeichen und Symbole

Dies ist, was ich habe bekam:

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

Ihre regex verwenden sieht aus wie Sie mindestens eine Ziffer und ein alpha wollen. Ist das korrekt? –

+0

@bobblebubble ja, Rock konnte liefern! Vielen Dank! – cat4081

Antwort

2

Diese Regex

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

Regex Demo

Regex Pannen

^ #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 

Für unicode Unterstützung können Sie

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

HINWEIS verwenden: - Für eine charact passende er und eine Ziffer, können Sie

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

Regex Demo

+0

Das sieht aus wie es funktioniert !! Ich danke dir sehr!! – cat4081

+1

Wie wäre es mit der Zusammenführung der [First Length Check Lookahead in das Spiel] (https://regex101.com/r/vN8gD1/1) oder vielleicht etwas übersehen haben. –

+0

@bobblebubble aber das wird in schnellerem Fehler helfen, wenn die Länge nicht übereinstimmt – rock321987