/ / Regex auf einen Buchstaben und ein Zeichen ohne Sonderzeichen [duplizieren] - Java, Regex

Regex zu einem Buchstaben und Zeichen ohne spezielle Zeichen [Duplizieren] - Java, Regex

Ich versuche, einen regulären Ausdruck zu schreiben, um die folgenden Bedingungen in einer Kennwortzeichenfolge zu überprüfen

  • Mindestens eine Nummer und ein Buchstabe
  • Sollte keine Sonderzeichen enthalten

Versuchte diesen regulären Ausdruck

[a-zA-Z]+[0-9]+[a-zA-Z0-9]*|[0-9]+[a-zA-Z][a-zA-Z0-9]*

Aber es erlaubt Sonderzeichen. Jede Hilfe wäre dankbar!

Beispiel

  • aaaa - Nicht akzeptiert
  • 11111 - Nicht akzeptiert
  • aaaa1 - Akzeptiert
  • aaaa1 * - Nicht akzeptiert

Antworten:

3 für die Antwort № 1

Probieren Sie diese Regex:

(?=.*d.*)(?=.*[a-zA-Z].*)[0-9A-Za-z]+

In den ersten beiden Abschnitten erhalten Sie eine Nummer und ein a-z-Zeichen. Im dritten Abschnitt können Sie Zahlen oder a-z-Zeichen eingeben.


0 für die Antwort № 2

Ihr Muster sollte mit beginnen ^ (Stringanfang) und ende mit $ (Ende der Zeichenfolge). Ich gehe davon aus, dass Ihre Prüfung erfolgreich ist, wenn das Muster auftritt.

So sollte es sein

^([a-zA-Z]+[0-9]+[a-zA-Z0-9]*|[0-9]+[a-zA-Z][a-zA-Z0-9]*)$

0 für die Antwort № 3

Sie können einen regulären Ausdruck erstellen, der zuerst das erste Zeichen überprüft, wenn es sich um einen Buchstaben handelt ^[a-zA-Z], dann erwarten Sie eine unbekannte Anzahl von alphanum char [a-zA-Z0-9]*. Dann rechne mit mindestens einer Zahl [0-9]+ und schließlich erwarten Sie eine weitere unbekannte Anzahl von Alphanum bis zum Ende [a-zA-Z0-9]*$. Das sieht so aus:

^[a-zA-Z][a-zA-Z0-9]*[0-9]+[a-zA-Z0-9]*$

Machen Sie das Äquivalent, wenn es mit einer Zahl beginnt ^[0-9], dann erwarten Sie eine unbekannte Anzahl von alphanum char [a-zA-Z0-9]*. Dann erwarten Sie mindestens einen Buchstaben [a-zA-Z]+ und schließlich erwarten Sie eine weitere unbekannte Anzahl von Alphanum bis zum Ende [a-zA-Z0-9]*$. Das sieht so aus:

^[0-9][a-zA-Z0-9]*[a-zA-Z]+[a-zA-Z0-9]*$

Und machen Sie ein ODER zwischen diesen beiden Regex:

^( [a-zA-Z][a-zA-Z0-9]*[0-9]+[a-zA-Z0-9]* | [0-9][a-zA-Z0-9]*[a-zA-Z]+[a-zA-Z0-9]*) $