Problem mit Regulären Ausdrücken

  • Themenstarter Themenstarter Gastxx
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Gastxx

Gast
Hallo,
ich versuche mich gerade an regulären Ausdrücken und spiele dort ein bisschen rum.
Habe bereits reguläre Ausdrücke in perl kennen gelernt, aber irgendwie bereiten mir die regexs in java Probleme.

Also laut api gibts auch in java whitespace symbole als regulären ausdruck ---> \s
Jetzt bekomme ich aber bei zum Beispiel folgendem pattern einen Fehler:
Code:
Pattern p1 = Pattern.compile("\s*double.*");
Das pattern sollte eigentlich alle "double" typbezeichnungen finden, denen whitespaces vorausgehen können.
Aber wenn ich jetzt comiliere erhalte ich folgenden Fehler:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )

Also ich bin nun verwirrt. Mache ich etwas falsch mit der Implementierung der vorausgehenden whitespaces, oder werden die whitespaces in java durch \s ned unterstützt... was mich aber wundern würde, weils so eigentlich auch in der api steht.
Hoffe jemand kennt sich aus und kann mir da mal weiterhelfen :bahnhof: .
 
Alles klar, vielen Dank!
Jetzt hät ich nurnoch eine Frage. :###
Das einzige Problem dass ich momentan noch habe ist der "." (Punkt).
In java steht der Punkt ja für ein Füllersymbol, also so ne Art Wildcard.
Was ist nun aber wenn ich gezielt nach einem Punkt suchen will, z.B. für Satzendungen oder die Punkt in double literalen.
 
Für eine Suche nach einem Punkt musst du folgendes schreiben:

\\.

. -> Nach dem willst du suchen
\ -> Ist nötig um dem regulären Ausdruck zu sagen er soll den Punkt als Punkt suchen und nicht als "Joker" verwenden
\ -> Ist nötig um Java zu sagen der folgende Backslash soll auch wirklich ein Backslash sein
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben