Einfache Regex [a-z] funktioniert für Buchstaben, schlägt jedoch in Word fehl
Frage
Ich schreibe eine einfache Regex-Validator-Methode in Nuxeo Java
mystring.matches("[a-z]")
Dies wird korrekt bestätigt, wenn Sie einen beliebigen Buchstaben eingeben.a oder b oder z .
Diese Validierung ermöglicht die Eingabe eines Buchstabens, aber wenn ich ein Wort eingebe, schlägt sie fehl.
Warum das ?Muss ich einen Längenparameter eingeben?
Lösung
Sie erlauben nur ein einzelnes Match eines Charakters."[A-Z] +" würde 1 bis n Zeichen von Kleinbuchstaben anlaufen lassen.
Andere Tipps
[a-z]
bedeutet, dass ein Zeichen im Bereich a-z vorhanden ist.Wenn Sie eine beliebige Anzahl von Zeichen, 0 oder mehr, abgleichen möchten, können Sie verwenden [a-z]*
.Wenn Sie ein oder mehrere Zeichen zuordnen möchten, [a-z]+
, oder wenn Sie genauer sein möchten, [a-z]{4}
stimmt nur mit 4 Zeichen überein, während [a-z]{4,6}
entspricht 4, 5 oder 6 Zeichen.
Sehen Dieser Artikel über Wiederholungsquantoren für mehr Informationen.