Hallo!
Ich bin relativ unerfahren mit Regular Expressions in Java und möchte folgendes Problem lösen:
Ich muss eine Eingabe auf 5 verschiedene Fälle überprüfen:
1. */123
2. 123/*
3. 123/123
4. 123
5. Foo
Nach ein wenig Recherche habe ich versucht für den 1. Fall ein Pattern z.B. so anzulegen:
Also das Zeichen * escapen, da es ja sonst dem Compiler mitteilt daß eine Zeichenkette keinmal oder beliebig oft vorkommt. Ich brauch aber genau dieses Zeichen in meinem Ausdruck.
Anschließend muß ein Slash auftreten und dann eine Zeichenfolge aus der Klasse \d, also Zieffern von 0-9 (escape ich auch mit einem Backslash) und dazu ein + für mind. ein mal oder beliebig oft.
Der Compiler beschwert sich aber über eine falsche Syntax im Ausdruck und sagt 'Invalid Escape Sequence'.
Was mach ich falsch?
Wäre sehr dankbar für einen Denkanstoß oder eine Lösung.
fg
Martin
Ich bin relativ unerfahren mit Regular Expressions in Java und möchte folgendes Problem lösen:
Ich muss eine Eingabe auf 5 verschiedene Fälle überprüfen:
1. */123
2. 123/*
3. 123/123
4. 123
5. Foo
Nach ein wenig Recherche habe ich versucht für den 1. Fall ein Pattern z.B. so anzulegen:
Code:
Pattern p = Pattern.compile("\*/\\d+");
Also das Zeichen * escapen, da es ja sonst dem Compiler mitteilt daß eine Zeichenkette keinmal oder beliebig oft vorkommt. Ich brauch aber genau dieses Zeichen in meinem Ausdruck.
Anschließend muß ein Slash auftreten und dann eine Zeichenfolge aus der Klasse \d, also Zieffern von 0-9 (escape ich auch mit einem Backslash) und dazu ein + für mind. ein mal oder beliebig oft.
Der Compiler beschwert sich aber über eine falsche Syntax im Ausdruck und sagt 'Invalid Escape Sequence'.
Was mach ich falsch?
Wäre sehr dankbar für einen Denkanstoß oder eine Lösung.
fg
Martin