L
Lunatikz
Gast
Hi,
Ich möchte gern einen regulären Ausdruck für ein Pattern in Java definieren. Und zwar will ich folgendes zulassen:
- F1[0] (bzw. [1],[0..1])
- F[0] (bzw. [1],[0..1])
- !F[0] (bzw. [1],[0..1])
- F1.G1[0] (bzw. [1],[0..1])
- !F1.G1[0] (bzw. [1],[0..1])
- TRUE
- FALSE
Die Buchstaben (in diesem Bsp. F oder G) sind beliebig (auch in der Anzahl) und case sensitive. Der folgende Pattern ist auch noch nicht fertig für die eckigen Klammern.
Ich hab folgendes Pattern bisher definiert:
Mein grundsätzliches Problem besteht darin, dass ich nicht genau weiss, wie man regExp verodern kann, ich habs mit dem logischen Operator | probiert, was auch keinen Compilerfehler erzeugt. aber es werden auch andere Worte akzeptiert, die nicht TRUE und FALSE sind, vermutlich durch [a-zA-Z]*, oder ?
Meine Frage lautet nun, wie ich es erreiche dass obige Bsp alle akzeptiert werden, als auch TRUE und FALSE aber eben andere Worte nicht ?
Ein Dank im Voraus, für jedewede Hilfe.
Grüße,
Ich möchte gern einen regulären Ausdruck für ein Pattern in Java definieren. Und zwar will ich folgendes zulassen:
- F1[0] (bzw. [1],[0..1])
- F[0] (bzw. [1],[0..1])
- !F[0] (bzw. [1],[0..1])
- F1.G1[0] (bzw. [1],[0..1])
- !F1.G1[0] (bzw. [1],[0..1])
- TRUE
- FALSE
Die Buchstaben (in diesem Bsp. F oder G) sind beliebig (auch in der Anzahl) und case sensitive. Der folgende Pattern ist auch noch nicht fertig für die eckigen Klammern.
Ich hab folgendes Pattern bisher definiert:
Java:
Pattern p = Pattern.compile("[\\!]?[a-zA-Z]*[0-9]?[\\.]?|[TRUE]|[FALSE]");
Mein grundsätzliches Problem besteht darin, dass ich nicht genau weiss, wie man regExp verodern kann, ich habs mit dem logischen Operator | probiert, was auch keinen Compilerfehler erzeugt. aber es werden auch andere Worte akzeptiert, die nicht TRUE und FALSE sind, vermutlich durch [a-zA-Z]*, oder ?
Meine Frage lautet nun, wie ich es erreiche dass obige Bsp alle akzeptiert werden, als auch TRUE und FALSE aber eben andere Worte nicht ?
Ein Dank im Voraus, für jedewede Hilfe.
Grüße,