Hallo, also mein problem is folgendes,
ich will nach dem ich mir zufällig ein Wort, aus Buchstaben(K&G) sowie Zahlen und unten genannten Sonderzeichen habe erzeugen lassen,wissen ob auch wirklich mindestens eine Zeichen jeder Kategorie drin is. Für Groß/Kleinbuchstaben sowie zahlen gestalltet sich das relativ einfach, nur diese verflixten Sonderzeichen machen mir da Probleme.
die betreffenden Zeichen sind:
!"§$%&/()=?{[]}+*~#'_-.:,<>|^°
und hier mein versuch das unterzubekommen
nun habe ich versucht diese, wie an mehren Stellen im Internet vorgeschlagen mit \ zu maskieren, was dabei raus kam, war leider nichts vernünftiges, auch weiterhin meinte meine Entwicklungsumgebung zu mir
java.util.regex.PatternSyntaxException: Illegal character range near index 28
was der Punkt wäre. Wenn ich den nun aber per \\ maskierte meint gefällt java weiterhin der Punkt nicht, nur das der index jetzt 29 statt 28 is
beim " hat es komischerweise geklappt, ebenso bekomm ich jetzt für das + keinen fehler mehr, wobei ich hier auch nicht ganz verstehe warum Java ZUERST der . auffällt und nicht zb gleich das ? was ja auch im Regex ne eigene Bedeutung hat wenn ich das recht verstanden hab.
Und bevor die frage kommt, aus bestimmten Gründen frage ich nicht in einem Match alle möglichen Zeichen ab, da nicht immer alle Zeichen notwendig sind
ich will nach dem ich mir zufällig ein Wort, aus Buchstaben(K&G) sowie Zahlen und unten genannten Sonderzeichen habe erzeugen lassen,wissen ob auch wirklich mindestens eine Zeichen jeder Kategorie drin is. Für Groß/Kleinbuchstaben sowie zahlen gestalltet sich das relativ einfach, nur diese verflixten Sonderzeichen machen mir da Probleme.
die betreffenden Zeichen sind:
!"§$%&/()=?{[]}+*~#'_-.:,<>|^°
und hier mein versuch das unterzubekommen
Java:
x.matches(".*[!\\\"§$%&/()=?{[]}\\+*~#'_-.:,<>|^°].*")
java.util.regex.PatternSyntaxException: Illegal character range near index 28
was der Punkt wäre. Wenn ich den nun aber per \\ maskierte meint gefällt java weiterhin der Punkt nicht, nur das der index jetzt 29 statt 28 is
beim " hat es komischerweise geklappt, ebenso bekomm ich jetzt für das + keinen fehler mehr, wobei ich hier auch nicht ganz verstehe warum Java ZUERST der . auffällt und nicht zb gleich das ? was ja auch im Regex ne eigene Bedeutung hat wenn ich das recht verstanden hab.
Und bevor die frage kommt, aus bestimmten Gründen frage ich nicht in einem Match alle möglichen Zeichen ab, da nicht immer alle Zeichen notwendig sind