Soweit ich weiß {}
geschweiften Klammern verwendet werden, wie {3,12}
in regulärem Ausdruck Zeichen zu begrenzen, würden Zeichenlänge Übereinstimmen zwischen 3 bis 12wie zu begrenzen, Zeichen zwischen einem Bereich mit regulärem Ausdruck
ich versuche zu Validiere den Benutzernamen, der einen Punkt .
oder _
entweder einen, aber nicht beides enthalten könnte. Dafür funktioniert der unten stehende Regex sehr gut.
(^[a-z0-9]+$)|(^[a-z0-9]*[\.\_][a-z0-9]*$)
Aber ich muss auch die String-Länge zwischen 3 bis 12 begrenzen, hatte ich versucht, {3,12}
in regex zu setzen, aber das funktioniert nicht.
((^[a-z0-9]+$)|(^[a-z0-9]*[\.\_][a-z0-9]*$)){3,12}
Siehe Beispiel: https://regex101.com/r/kN3aO1/1
Eine Menge los mit dem ausgewählten Ausdruck '^ (? =. {3,12} $) [a-z0-9] + (?: [._] [a-z0-9] +)? $ Abgesehen von der Vorausschau bis zur Valdate-Länge, siehst du die anderen feinen Unterschiede von deiner ursprünglichen Regex? – sln
Ich hatte '|' verwendet, um String mit Nicht-Periode oder Unterstrich und umgekehrt zu differenzieren, wie auch immer ich denke, hwnd Ausdruck ist besser als Minen als er nicht verwendet oder –