Re: Eigenartiges Verhalten von "String[] java.lang.String.split(String regex)" - Falscher Split
- From: "Paul Ebermann" <Paul-Ebermann@xxxxxx>
- Date: Thu, 27 Apr 2006 10:56:11 +0200
"Alexander Seidl" skribis:
Danke für die Antworten :)
Ich zitiere das als Zusammenfassung nochmal aus
<http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html#split(java.lang.CharSequence, int)>:
"It is an error to use a backslash prior to any alphabetic character
that does not denote an escaped construct; these are reserved for future
extensions to the regular-expression language. A backslash may be used
prior to a non-alphabetic character regardless of whether that character
is part of an unescaped construct."
String str = "\(Hallo\)";
fürhrt daher zu einem Compilierfehler!
Fast. Nicht daher, sondern eben wegen:
"It is therefore necessary to double backslashes in string literals that
represent regular expressions to protect them from interpretation by the
Java bytecode compiler."
Der Compiler mag nur einige ganz wenige
Backslash-Escape-Sequenzen, nämlich \b, \f, \n,
\r, \t, \", \', \\, dazu bis zu dreistellige
Oktalzahlen (mit Ziffern 0 ... 7, nur bis \377),
und die Unicode-Escapes \uXXXX (mit vier
Hexadezimal-Ziffern).
Alle anderen Backslashes sind nicht erlaubt und
führen zu Compiler-Fehlern.
Wenn du Klammern escapen willst, musst du das mit
"\\(Hallo\\)"
machen, was dann zu dem regulären Ausdruck
\(Hallo\)
wird.
Paul
--
Wem es darum zu tun ist, dauerhafte Achtung sich zu erwerben; [...] der würze
nicht ohne Unterlass seine Gespräche mit Lästerungen, Spott und Medisance und
gewöhne sich nicht an den auszischenden Ton von Persiflage.
Adolf Freiherr Knigge, Über den Umgang mit Menschen, 1.17
.
- Follow-Ups:
- References:
- Prev by Date: Re: Eclipse vs. IntelliJ
- Next by Date: Re: Eigenartiges Verhalten von "String[] java.lang.String.split(String regex)" - Falscher Split
- Previous by thread: Re: Eigenartiges Verhalten von "String[] java.lang.String.split(String regex)" - Falscher Split
- Next by thread: Re: Eigenartiges Verhalten von "String[] java.lang.String.split(String regex)" - Falscher Split
- Index(es):
Relevant Pages
|