Wenn Sie "\"
eingeben, handelt es sich tatsächlich um einen einzelnen umgekehrten Schrägstrich (aufgrund von Sonderzeichen in Java-Zeichenfolgen).
Reguläre Ausdrücke verwenden auch einen umgekehrten Schrägstrich als Sonderzeichen, und Sie müssen es mit einem weiteren umgekehrten Schrägstrich abfangen. Am Ende müssen Sie "\\"
als Muster übergeben, damit es mit einem einzelnen umgekehrten Schrägstrich übereinstimmt.
\
ist ein Sonderzeichen in regulären Ausdrücken sowie in Java-String-Literalen. Wenn Sie einen literalen Backslash in einer Regex haben wollen, müssen Sie ihn zweimal verdoppeln. Probieren Sie \\
aus (wird \
einmal lexiert, wird zu einem Literal \
für den Regex-Parser).
Sie versuchen, die Zeichenfolge auf einem umgekehrten Schrägstrich zu teilen, müssen Sie verwenden:
%Vor% \
ist das Escape-Zeichen für die Java-Zeichenfolge und die Regex-Engine. Daher wird eine Java-Zeichenkette \
an die Regex-Engine als \
übergeben, was unvollständig ist, da \
von dem Zeichen gefolgt werden muss, das versucht wird, zu entkommen.
Die Zeichenfolge \\
wird an die Regex-Engine als \
übergeben, was ein \
ist, das eine \
entkommt, was effektiv ein Literal \
bedeutet.
Sie müssen Ihre Regex korrigieren. Es sollte sein:
%Vor%, weil der doppelte Backslash eine Escape-Sequenz für Java-Zeichenfolgen ist.