Pattern.matches reagiert unerwartet
-
Ich versuche hier eine Zeichenfolge zu prüfen. Es dürfen nur bestimmte Zeichen enthalten sein (Buchstaben und ein Paar Sonderzeichen, siehe Code). Doch irgendwie liefert Pattern.matches immer false:
boolean test = Pattern.matches("[a-zA-Z0-9ßÖÄÜöäü*~,._!?]", "Test");
Da sollte doch true rauskommen, oder versteh ich hier was nicht?
-
hallo,
javadocs schrieb:
Compiles the given regular expression and attempts to match the given input against it.
versucht also den gesamten input zu matchen - wenn das nicht klappt gibt es false.
also entweder hinter dein regex ein * oder dein input auf zb. "t" - dann gibts ein true.
vermutlich suchst du sowas wie Matcher.find
btw. deine zeichenmenge ist sehr groß - vielleicht lohnt es sich zu schauen ob man das ganze umdrehen kann - zb. alles außer leerzeichen oder ähnlich.mfg.