Zeichenvergleich

Aktualisiert: November 2007

Der Punkt (.) entspricht allen außer einem druckbaren oder nicht druckbaren Zeichen in einer Zeichenfolge. Die Ausnahme ist das Zeilenendezeichen (\n). Der folgende reguläre Ausdruck entspricht aac, abc, acc, adc usw. sowie a1c, a2c, a-c und a#c:

/a.c/

Um eine Entsprechung für eine Zeichenfolge zu finden, die einen Dateinamen enthält, in dem ein Punkt (.) Bestandteil der Eingabezeichenfolge ist, stellen Sie dem Punkt im regulären Ausdruck einen umgekehrten Schrägstrich (\) voran. Beispiel: Der folgende reguläre Ausdruck entspricht filename.ext:

/filename\.ext/

Mit diesen Ausdrücken finden Sie nur Entsprechungen zu einem beliebigen einzelnen Zeichen. Sie möchten aber vielleicht Entsprechungen für bestimmte Zeichen aus einer Liste finden. Es kann z. B. erforderlich sein, Kapitelüberschriften zu suchen, die numerisch ausgedrückt werden (Kapitel 1, Kapitel 2 usw.).

Klammerausdrücke

Um eine Liste von entsprechenden Zeichen zu erstellen, platzieren Sie ein oder mehrere einzelne Zeichen in eckige Klammern ([ und ]). Wenn die Zeichen in eckigen Klammern stehen, wird die Liste als Klammerausdruck bezeichnet. Innerhalb von Klammern (wie auch an anderen Stellen) stellt ein normales Zeichen sich selbst dar, d. h. es entspricht einem Vorkommen von sich selbst im Eingabetext. Die meisten Sonderzeichen verlieren ihre spezielle Bedeutung, wenn sie innerhalb eines Klammerausdrucks auftreten. Hiervon gibt es jedoch einige Ausnahmen:

  • Das ]-Zeichen beendet eine Liste, wenn es nicht das erste Element ist. Um eine Entsprechung des ]-Zeichens in einer Liste zu suchen, platzieren Sie dieses Zeichen an erster Stelle, unmittelbar nach dem öffnenden [-Zeichen.

  • Das \-Zeichen ist nach wievor das Escapezeichen. Um Entsprechungen für das \-Zeichen zu finden, verwenden Sie \\.

Zeichen, die in einem Klammerausdruck stehen, entsprechen nur einem einzigen Zeichen für die Position im regulären Ausdruck. Der folgende reguläre Ausdruck entspricht Chapter 1, Chapter 2, Chapter 3, Chapter 4 und Chapter 5:

/Chapter [12345]/

Beachten Sie, dass das Wort Chapter und das darauf folgende Leerzeichen relativ zu den Zeichen innerhalb der Klammern fixiert sind. Der Klammerausdruck gibt nur die Gruppe von Zeichen an, die der einzelnen Zeichenposition entspricht, die unmittelbar auf das Wort Chapter und ein Leerzeichen folgt. Dies ist die neunte Zeichenposition.

Um die entsprechenden Zeichen statt durch die Zeichen selbst anhand eines Bereichs anzugeben, verwenden Sie den Bindestrich (-), um das Anfangs- und das Endzeichen in dem Bereich voneinander zu trennen. Der Zeichenwert der einzelnen Zeichen bestimmt die relative Position innerhalb eines Bereichs. Der folgende reguläre Ausdruck enthält einen Bereichsausdruck, der gleichbedeutend mit der mit Klammern versehenen Liste im obigen Beispiel ist.

/Chapter [1-5]/

Wenn ein Bereich auf diese Weise angegeben wird, sind sowohl der Anfangs- als auch der Endwert in dem Bereich enthalten. Beachten Sie, dass in der Unicode-Sortierreihenfolge der Anfangswert vor dem Endwert stehen muss.

Um einen Bindestrich in einen Klammerausdruck einzufügen, führen Sie einen der folgenden Schritte aus:

  • Setzen Sie einen umgekehrten Schrägstrich als Escapezeichen davor:

    [\-]
    
  • Setzen Sie den Bindestrich an den Anfang oder das Ende der Liste mit den Klammern. Die folgenden Ausdrücke entsprechen allen Kleinbuchstaben und dem Bindestrich:

    [-a-z]
    [a-z-]
    
  • Erstellen Sie einen Bereich, in dem der Wert des Anfangszeichens niedriger ist als der Bindestrich und der Wert des Endzeichens größer oder gleich dem Bindestrich ist. Beide folgenden regulären Ausdrücke erfüllen diese Anforderung:

    [!--]
    [!-~]
    

Um alle Zeichen zu finden, die nicht in der Liste oder dem Bereich enthalten sind, platzieren Sie das Caretzeichen (^) an den Anfang der Liste. Wenn das Caretzeichen an einer anderen Stelle innerhalb der Liste auftritt, entspricht es sich selbst. Der folgende reguläre Ausdruck entspricht Kapitelüberschriften mit Nummern, die größer als 5 sind:

/Chapter [^12345]/

In den obigen Beispielen entspricht der Ausdruck beliebigen Ziffern an der neuten Position außer 1, 2, 3, 4 oder 5. Daher sind z. B. Chapter 7 und Chapter 9 Entsprechungen.

Die obigen Ausdrücke können mit dem Bindestrich (-) dargestellt werden:

/Chapter [^1-5]/

Eine typische Verwendung eines Klammerausdrucks besteht darin, Entsprechungen von beliebigen Groß- oder Kleinbuchstaben oder Ziffern anzugeben. Der folgende Ausdruck gibt eine solche Entsprechung an:

/[A-Za-z0-9]/

Siehe auch

Weitere Ressourcen

Einführung in reguläre Ausdrücke