Ich muss regex verwenden, um zu prüfen, ob ein String mit einem doppelten Anführungszeichen ( "
) beginnt und mit einem doppelten Anführungszeichen endet.
Das Problem ist, dass ich ein Anführungszeichen nicht verwenden kann, weil es dadurch verwirrt wird. Gibt es eine andere Möglichkeit, ein doppeltes Anführungszeichen Zeichen "
in Regex oder String allgemein darzustellen?
Erstens, doppelte Anführungszeichen sind nichts besonderes in Regex - es ist nur ein anderes Zeichen, so dass es nicht aus der Perspektive von Regex zu entkommen braucht.
Da java jedoch doppelte Anführungszeichen verwendet, um String-Konstanten zu trennen , wenn Sie eine Zeichenfolge in Java mit einem doppelten Anführungszeichen darin erstellen möchten, müssen Sie sie entkommen.
Dieser Code testet, ob Ihr String übereinstimmt:
%Vor% Beachten Sie, dass Sie Anfang und Ende der Eingabemarker ( ^
und $
) nicht in der Regex hinzufügen müssen, da matches()
erfordert, dass die gesamte Eingabe mit true übereinstimmt - ^
und $
sind impliziert.
Sie müssen einen umgekehrten Schrägstrich vor ". wie \"
Aus dem Dokument hier können Sie das sehen
Ein Zeichen mit einem umgekehrten Schrägstrich (\) ist eine Escape-Sequenz und hat spezielle Bedeutung für den Compiler.
und "(double quote) ist eine Eskalationssequenz
Wenn in einer print-Anweisung eine Escape-Sequenz auftritt, interpretiert der Compiler sie entsprechend. Wenn Sie beispielsweise Anführungszeichen in Anführungszeichen setzen möchten, müssen Sie die Escape-Sequenz \ "für die inneren Anführungszeichen verwenden. So drucken Sie den Satz
Sie sagte "Hallo!" zu mir.
Sie würden schreiben
System.out.println ("Sie sagte" Hallo! "zu mir.");