Hallo!
Mir scheint die "Summary of regular-expression constructs" unter java.util.regex.Pattern inkonsistent oder zumindest irreführend zu sein.
Unter "Characters" steht z. B., dass \n den Newline-Character bezeichnet. Der Backslash ist hier also ein Zeichen, das vom Compiler gebraucht wird, damit dann in einem String (der ein Pattern darstellen soll) ein EINZIGES Zeichen, nämlich der Newline-Character steht.
Z. B.:
Unter "Predefined character classes" hingegen steht, dass \d eine Ziffer darstellt. Hier ist gemeint, dass in einem String (der ein Pattern darstellen soll), ZWEI Zeichen stehen müssen, nämlich der Newline-Character und d. Um diesen String zu erstellen, muss der Backslash mit einem weiteren Backslash notiert werden.
Z. B.:
Mir ist nun z.T. unklar, wo in der "Summary of regular-expression constructs" in der linken Spalte ein Backslash ein Zeichen ist, dass in dem String (der ein Pattern darstellen soll) enthalten sein soll und wo nicht.
Vielen Dank schon mal!
MrWiseGuy
Mir scheint die "Summary of regular-expression constructs" unter java.util.regex.Pattern inkonsistent oder zumindest irreführend zu sein.
Unter "Characters" steht z. B., dass \n den Newline-Character bezeichnet. Der Backslash ist hier also ein Zeichen, das vom Compiler gebraucht wird, damit dann in einem String (der ein Pattern darstellen soll) ein EINZIGES Zeichen, nämlich der Newline-Character steht.
Z. B.:
Code:
Pattern p = Pattern.compile("\n");
Unter "Predefined character classes" hingegen steht, dass \d eine Ziffer darstellt. Hier ist gemeint, dass in einem String (der ein Pattern darstellen soll), ZWEI Zeichen stehen müssen, nämlich der Newline-Character und d. Um diesen String zu erstellen, muss der Backslash mit einem weiteren Backslash notiert werden.
Z. B.:
Code:
Pattern p = Pattern.compile("\\d");
Mir ist nun z.T. unklar, wo in der "Summary of regular-expression constructs" in der linken Spalte ein Backslash ein Zeichen ist, dass in dem String (der ein Pattern darstellen soll) enthalten sein soll und wo nicht.
Vielen Dank schon mal!
MrWiseGuy