regulärer Ausdruck mit Metazeichen

Hey,
wie muss ich einen regulären Ausdruck schreiben, der prüft, ob der String eine Zeichenkette der folgenden Zeichen sind: +-*/
* und / sind ja Metazeichen, .matches("[+-*/]*") geht also nicht, ich weiß aber nicht, wie ich sie einbauen muss damit sie im eigentlichen Sinne verwendet werden.
 
du musst jeweils ein
\
davor schreiben. Da in Java aber \ bereits ein Metazeichen ist, musst du es für Java noch einmal escapen:
\\
 
.matches("[+*/-]*")
geht aber auch,
innerhalb von [] ist so ziemlich nur das - ein Sonderzeichen für 0-9 usw., das - ans Ende, dann müßte alles gehen,
\ und vorgegebene Zeichen-Gruppen wäre noch interessant
 
hm, er sagt mir aber sowas:
Java:
java.util.regex.PatternSyntaxException: Illegal character range near index 3
[+-*/]*
   ^

und für [+-\\*\\/]* sagt er:
Java:
Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal character range near index 4
[+-\*\/]*
    ^
 
Zuletzt bearbeitet:
auf Schandros Antwort kannst du dich nicht beziehen, der schlug diverse Änderungen vor
auf meine Antwort kannst du dich nicht beziehen, darin waren auch zumindest ein paar leichte Änderungen zu sehen

deine Antwort gibt Rätsel auf 😉

edit: dein edit geht dann Richtung Schandro, aber nicht genug, alles escapen hilft vielleicht, auch gerade das -
 

Neue Themen


Zurück
Oben