Ich möchte Benutzernamen validieren nach diesem Schema zum Ausdruck bringt:Regex, die „mindestens ein nicht-digit“
- Erlaubte Zeichen: Buchstaben, Zahlen, Bindestrich, Unterstrich
- Das erste Zeichen muss ein Buchstabe sein oder eine Anzahl
- Der Benutzername Alle Zahlen nicht
Dieser reguläre Ausdruck erfüllt 1 und 2 oben, aber ich kann nicht herausfinden, wie 3 zu erfüllen:
/^[a-zA-Z\d][\w\-]+$/
(I Rubin bin mit, wenn das relevant ist)
netter Trick ist verfügbar in Nicht-ruby regex Implementierungen? –
+1 Schöne. Normalerweise meide ich Lookahead, weil ich sie nicht gut verstehe, aber das ist eine schöne Illustration, wie man sie benutzt. –
@Mark: Nicht in allen, aber in den meisten. Python, PHP, Perl und Javascript sind diejenigen, von denen ich weiß, dass sie es unterstützen. –