Reguläre Ausdrücke zur Textsuche

Mithilfe regulärer Ausdrücke können Sie in Microsoft Expression Web erweiterte Suchen- und Ersetzen-Aktionen ausführen. Reguläre Ausdrücke sind hilfreich, wenn Ihnen der Text oder Code, den Sie suchen, nicht genau bekannt ist, oder wenn Sie nach allen Vorkommen von Zeichenfolgen in Text oder Code mit einer oder mehreren Ähnlichkeiten suchen.

Bei einem regulären Ausdruck handelt es sich um ein Textmuster, das eine oder mehrere gesuchte Text- oder Codevariationen beschreibt. Ein regulärer Ausdruck besteht aus bestimmten Zeichen (z. B. den Buchstaben "a" bis "z") und speziellen Zeichen zur Beschreibung des Textmusters (z. B. Sternchen [*]). Beispielsweise können Sie mit "Seite*" auf Ihrer Website alle Variationen von "Seite" suchen. In diesem Fall findet Expression Web auf Ihrer Website alle Vorkommen von "Seite", "Seiten", "Seitens" und sonstige Wörter, die mit "Seite" beginnen.

Wenn Sie reguläre Ausdrücke in Suchvorgängen verwenden, wird durch spezifische Regeln gesteuert, welche Kombination aus Zeichen zu spezifischen Übereinstimmungen führt. Ein regulärer Ausdruck oder eine Kombination aus regulären Ausdrücken wird als Syntax bezeichnet. Sie können mehrere reguläre Ausdrücke in einer Syntax verwenden, um die Suche präzise einzuschränken.

Anweisungen zum Verwenden regulärer Ausdrücke finden Sie unter Suchen und Ersetzen von Text und Code.

Syntax bei regulären Ausdrücken

Syntax

Beschreibung des Ausdrucks

.

Jedes Zeichen dient als Platzhalter für ein beliebiges druckbares oder nicht druckbares Zeichen, mit Ausnahme des Zeichens für eine neue Zeile (\n).

Beispielsweise stimmt der reguläre Ausdruck "M.t" mit den Zeichenfolgen "Mut", "M t" und "Met", aber nicht mit "Most" überein. In diesem Beispiel ist der Punkt (.) ein Platzhalter für genau ein Zeichen. Er steht zwischen den Buchstaben"M" und "T", sodass jedes einzelne Zeichen zwischen den Zeichen "M" und "t" zu einer Übereinstimmung mit dem Ausdruck führt (selbst wenn dieses Zeichen ein Leerzeichen ist).

*

Maximal – null oder mehr. Ein oder mehrere Vorkommen eines Zeichens, die dem Ausdruck vorausgehen, wobei sich die Übereinstimmung über so viele Zeichen wie möglich erstreckt.

Der reguläre Ausdruck .* stimmt mit null oder mehr Vorkommen eines Zeichens überein.

Der reguläre Ausdruck b.*t stimmt mit 'bunt', 'Beet', 'beengt' und 'Bart' überein. In diesem Beispiel werden Punkt (.) und Sternchen (*) in einer Syntax kombiniert. Der Punkt (.) steht direkt vor dem Sternchen-Ausdruck (*). Das Sternchen (*) steht für keine oder mehrere Vorkommen beliebiger Zeichen zwischen 'b' und 't'. Der Punkt (.) dient als Platzhalter für die Zeichen zwischen 'b' und 't'. In diesem Beispiel bedeutet dies, dass jedes Zeichen zwischen 'b' und 't' wiederholt werden kann.

+

Maximal – eins oder mehr. Stimmt mit einem oder mehr Vorkommen eines Zeichens überein, die dem Ausdruck vorausgehen, wobei sich die Übereinstimmung über so viele Zeichen wie möglich erstreckt.

Der reguläre Ausdruck .+ stimmt mit einem oder mehr Vorkommen eines Zeichens überein.

Der reguläre Ausdruck bo+. beispielsweise findet die Übereinstimmungen 'Bob', 'Boot' und 'Boom'. In diesem Beispiel werden Punkt (.) und Pluszeichen (+) in einer Syntax kombiniert. Der Punkt (.) steht direkt hinter dem Pluszeichen-Ausdruck (+). Das Pluszeichen (+) stimmt mit einem oder mehreren Vorkommen des Buchstabens 'o' überein. Der Punkt (.) dient als Platzhalter für das letzte Zeichen eines Worts, in diesem Beispiel 'b', 't' und 'm'.

@

Minimal – null oder mehr. Stimmt mit null oder mehr Vorkommen eines Zeichens überein, die dem Ausdruck vorausgehen, wobei sich die Übereinstimmung über so wenig Zeichen wie möglich erstreckt.

Der reguläre Ausdruck .@ bedeutet, dass ein Abgleichen auf null oder mehr Vorkommen eines Zeichens erfolgt.

Der reguläre Ausdruck a.@x beispielsweise stimmt mit 'abx' in 'abxbxb' und 'acx' in 'acxcxc' überein. In diesem Beispiel werden Punkt (.) und @-Zeichen in einer Syntax kombiniert. Der Punkt (.) steht direkt vor dem @-Zeichen-Ausdruck. Das @-Zeichen stimmt mit null oder mehr Vorkommen eines beliebigen Zeichens zwischen 'a' und 'x' überein. In diesem Beispiel dient der Punkt (.) als Platzhalter für die Zeichen 'b' und 'c' zwischen den Zeichen 'a' und 'x'.

#

Minimal – eins oder mehr. Stimmt mit einem oder mehr Vorkommen eines Zeichens überein, die dem Ausdruck vorausgehen, wobei sich die Übereinstimmung über so wenig Zeichen wie möglich erstreckt.

Beispielsweise stimmt der reguläre Ausdruck B.#ch mit 'Bach' oder 'Besuch' überein. In diesem Beispiel werden Punkt (.) und Nummernzeichen (#) in einer Syntax kombiniert. Der Punkt (.) steht direkt vor dem Nummernzeichen-Ausdruck (#). Das Nummernzeichen (#) stimmt mit einem oder mehr Vorkommen jedes beliebigen Zeichens zwischen 'B' und 'ch' überein. Der Punkt (.) dient als Platzhalter für das Zeichen 'a' im Wort Bach und für die Zeichen 'e', 's' und 'u' im Wort Besuch.

[ ]

Zeichensatz wird gegen jedes Zeichen abgeglichen wird, das in den eckigen Klammern ([ ]) steht. Sie können Bereiche aus Zeichen angeben, indem Sie einen Bindestrich (-) verwenden (z. B. [a-z]).

Beispiele:

  • Der reguläre Ausdruck k[aou]t stimmt mit kat, kot und kut, aber nicht mit kit oder ket überein.

  • Der reguläre Ausdruck [0-9] bewirkt, dass gegen jede beliebige Ziffer abgeglichen wird. Sie können auch mehrere Buchstabenbereiche angeben.

  • Der reguläre Ausdruck [A-Za-z] bewirkt, dass gegen alle Groß- und Kleinbuchstaben abgeglichen wird.

^

Zeilenanfang. Erzwingt, dass das Abgleichen nur am Anfang einer Zeile erfolgt.

Der reguläre Ausdruck ^Warum in stimmt mit allen Zeichenfolgen überein, die mit "Warum in" beginnen und außerdem am Anfang einer Zeile zu finden sind, z. B. "Warum in einem Jahr"" oder "Warum in diesem Fall". Der reguläre Ausdruck stimmt jedoch nicht mit "Was und warum in diesem Fall" überein, auch wenn er am Anfang einer Zeile angezeigt wird.

$

Zeilenende. Erzwingt, dass das Abgleichen nur am Ende einer Zeile erfolgt.

Beispielsweise stimmt der reguläre Ausdruck Radfahrer$ mit dem Ende des Satzes "Er ist ein Radfahrer", aber nicht mit dem Ende des Satzes "Sie sind eine Gruppe von Radfahrern" überein.

^^

Anfang der Datei. Erzwingt, dass das Abgleichen nur am Anfang einer Datei erfolgt. Ist nur funktionsfähig, wenn in Quellcode oder in Textdateien nach Text gesucht wird.

Beispielsweise können Sie folgenden regulären Ausdruck verwenden, um nach dem ersten HTML-Tag am Anfang einer Datei zu suchen: ^^

$$

Ende der Datei. Erzwingt, dass das Abgleichen nur am Ende einer Datei erfolgt. Ist nur funktionsfähig, wenn in Quellcode oder in Textdateien nach Text gesucht wird.

Beispielsweise können Sie folgenden regulären Ausdruck verwenden, um nach dem letzten HTML-Tag am Ende einer Datei zu suchen, wobei keine Leerzeichen auf den Tag folgen: $$

|

Oder. Kennzeichnet eine Wahl zwischen zwei Ausdrücken, wobei eine Übereinstimmung gegeben ist, wenn der vor oder der hinter dem ODER-Symbol (|) stehende Ausdruck gefunden wird.

Der reguläre Ausdruck (ihm|ihr) entspricht den folgenden Vorkommen von "es gehört zu ihm" oder "es gehört zu ihr", aber nicht der Zeile "es gehört zu ihnen".

\

Escapesonderzeichen. Bewirkt einen Abgleich mit dem Zeichen, das hinter dem umgekehrten Schrägstrich ( \ ) steht. Dies ermöglicht Ihnen die Suche nach Zeichen, die in der Syntax für reguläre Ausdrücke verwendet werden, wie eine geschweifte Klammer links ({), ein Caretzeichen (^) oder irgendein anderes Sonderzeichen.

Mit \$ können Sie beispielsweise nach einem Dollarzeichen ($) suchen, das ansonsten als regulärer Ausdruck für den Abgleich am Ende einer Zeile verwendet wird. Ebenso können Sie mit dem Ausdruck \. nach einem Punkt (.) suchen, der in einem regulären Ausdruck für eine einzelnes Zeichen steht.

{}

Markierter Ausdruck. Markiert den Text, der mit dem Ausdruck übereinstimmt, der in den Klammern steht. Sie können \N verwenden, wenn Sie in einem Suchausdruck nach einem weiteren Vorkommen des markierten Texts suchen oder den markierten Text in einen Ersetzen-Ausdruck einfügen möchten.

Angenommen, Sie suchen nach zwei doppelten, aufeinander folgenden Wörtern. Verwenden Sie zur Suche den folgenden Ausdruck: {.#} \1

Wenn davon ausgegangen werden kann, dass die aufeinander folgenden Wörter durch ein Leerzeichen getrennt sind, können Sie ein Leerzeichen zwischen der rechten geschweiften Klammer (}) und dem umgekehrten Schrägstrich ( \ ) einfügen.

In diesem Beispiel werden das Nummernzeichen (#) und der Punkt (.) mit geschweiften Klammern ({}) zu einer Syntax kombiniert. In diesem Ausdruck steht .# für aufeinander folgende Zeichen. Da dieser Teil des Ausdrucks von geschweiften Klammern ({}) eingeschlossen ist, werden die folgenden Zeichen markiert und können als \1 dargestellt werden. Dieser Ausdruck findet alle aufeinander folgenden Zeichen, gefolgt von einem Leerzeichen, wiederum gefolgt von genau den gleichen, aufeinander folgenden Zeichen.

\N

Nter markierter Ausdruck. In einem Suchausdruck bewirkt \N eine Übereinstimmung mit dem Text, der mit dem Nten markierten Ausdruck übereinstimmt, wobei N eine Zahl von 1 bis 9 ist.

In einem Ersetzen-Ausdruck bewirkt \N, dass der Text eingefügt wird, der mit dem Nten markierten Ausdruck übereinstimmt, wobei N eine Zahl von 1 bis 9 ist. \0 bewirkt, dass der Text eingefügt wird, der mit dem gesamten Suchausdruck übereinstimmt.

Angenommen, Sie suchen nach zwei doppelten, aufeinander folgenden Wörtern und möchten diese durch ein einzelnes Wort ersetzen. Verwenden Sie zur Suche den folgenden Ausdruck: {.#} \l

Wenn davon ausgegangen werden kann, dass die aufeinander folgenden Wörter durch ein Leerzeichen getrennt sind, können Sie ein Leerzeichen zwischen der rechten geschweiften Klammer (}) und dem umgekehrten Schrägstrich ( \ ) einfügen. In diesem Beispiel werden das Nummernzeichen (#) und der Punkt (.) mit geschweiften Klammern ({}) zu einer Syntax kombiniert.

Verwenden Sie zum Ersetzen den folgenden Ausdruck: \l

\1 steht für die im ersten Paar geschweifter Klammern in der Suchzeichenfolge gefundenen Wörter. Wenn Sie \1 in der Ersetzungsaktion verwenden, ersetzen Sie die doppelten, aufeinander folgenden Wörter durch eine einzelne Kopie des Worts.

( )

Gruppierungsausdruck. Markiert Anfang und Ende eines Unterausdrucks.

Ein Unterausdruck ist ein regulärer Ausdruck, den Sie in Klammern ( ) einschließen, wie zum Beispiel der folgende Ausdruck: (ha)+ In diesem Beispiel wird das Pluszeichen (+) mit dem Klammergruppenausdruck ( ) kombiniert, um eine Syntax zu erzeugen. Dabei ist (ha) der Unterausdruck, da dieser in runde Klammern ( ) eingeschlossen ist. Wenn Sie das Pluszeichen (+) hinzufügen, können Sie mit diesem Ausdruck nach sich wiederholenden Buchstabenpaaren suchen. Das Pluszeichen (+) steht für ein oder mehrere Vorkommen der Buchstabenfolge 'ha' überein.

Dieser Ausdruck wird mit den folgenden Vorkommen 'haha' und 'hahaha' abgeglichen.

~x

Übereinstimmungsverhinderung. Verhindert eine Übereinstimmung, wenn x an dieser Position im Ausdruck angezeigt wird.

Beispielsweise stimmt der reguläre Ausdruck Rechn~(ung) mit "Rechn" in "Rechner" und "rechnerisch" überein, verhindert aber die Übereinstimmung mit "Rechn" in "Rechnung".

\n

Zeilenumbruch. Stimmt mit einer neuen Zeile in der Codeansicht oder <br> in der Designansicht überein.

Die Syntax (\n) ist eine Kurzfassung, die Ihnen die Suche nach auf allen Zeilenumbrüchen ermöglicht.

\t

Tabulator. Stimmt mit einem Tabulatorzeichen überein.

Wenn Sie beispielsweise alle Zeichen finden möchten, die am Anfang einer Zeile hinter einem einzelnen Tabulatorzeichen stehen, sieht der reguläre Ausdruck folgendermaßen aus:

^\t+

In diesem Beispiel werden das Caretzeichen (^) und das Pluszeichen (+) mit dem Tabulator (\t) zu einer Syntax kombiniert. Das Caretzeichen (^), das vor dem einzelnen Tabulatorzeichenausdruck steht, verankert die Übereinstimmung mit allen durch den Tabulator gekennzeichneten Zeichen am Anfang der Zeile. Das Pluszeichen (+) stellt den Abgleich mit einem oder mehreren Tabulatorzeichen dar.

[^]

Jedes nicht angegebene Zeichen. Stimmt mit allen Zeichen überein, die nicht nach dem Caretzeichen (^) angegeben sind.

Wenn beispielsweise für jedes Zeichen, mit Ausnahme der Zeichen im Bereich, eine Übereinstimmung gefunden werden soll, geben Sie das Caretzeichen (^) als erstes Zeichen nach der eckigen Klammer links an. Der Ausdruck [^269A-Z] führt zu einer Übereinstimmung mit jedem Zeichen mit Ausnahme von 2, 6, 9 sowie Großbuchstaben.

n

Ausdruck wiederholen. Stimmt mit n Vorkommen des Ausdrucks überein, der vor dem Caretzeichen (^) steht.

Wenn z. B. n gleich 4 ist, wird der Ausdruck [0-9]^4 mit einer beliebigen 4-stelligen Sequenz abgeglichen. In diesem Beispiel wird die Zeichensatzsyntax ([ ]) mit der Wiederholungssyntax (^n) kombiniert, um eine realistischere Möglichkeit zur Verwendung regulärer Ausdrücke darzustellen.

:a

Alphanumerisches Zeichen. Entspricht dem Ausdruck [a-zA-Z0-9].

Sie können den folgenden Ausdruck verwenden: [a-zA-Z0-9], um gegen ein Vorkommen eines Buchstabens (Groß- oder Kleinbuchstabe) oder einer Zahl abzugleichen. Solche Kombinationen werden auch als alphanumerische Vorkommen bezeichnet. Sie können den Kurzausdruck :a für alle Instanzen von [a-zA-Z0-9] verwenden.

:b

Leerzeichen. Stimmt mit jedem Leerzeichen in Code oder Text überein.

Wenn Sie beispielsweise ein einzelnes Leerzeichen suchen möchten, das am Anfang einer Zeile steht, verwenden Sie folgenden regulären Ausdruck: ^:b

:c

Alphabetisches Zeichen. Entspricht dem Ausdruck [a-zA-Z]. Wenn Sie diesen Ausdruck verwenden, können Sie nach jedem Groß- oder Kleinbuchstaben suchen.

Sie können den Kurzausdruck :c für alle Instanzen von [a-zA-Z] verwenden.

:d

Dezimalzeichen. Entspricht dem Ausdruck [0-9]. Mit diesem Ausdruck können Sie nach jeder dezimalen Ziffer suchen.

Beispiel: Sie suchen eine Sozialversicherungsnummer in einer Textdatei. Eine Sozialversicherungssnummer besitzt in den USA folgendes Format: 999-99-9999. Der Ausdruck lautet :d^3-:d^2-:d^4 [0-9]^3-[0-9]^2-[0-9]^4] bei Verwendung von [0-9].

Sie können den Kurzausdruck :d für alle Instanzen von [0-9] verwenden.

:h

Hexadezimalzeichen. Entspricht dem Ausdruck [0-9a-fA-F]+.

Verwenden Sie diesen Ausdruck, wenn Sie nach einer hexadezimalen Kombination aus beliebigen Groß- oder Kleinbuchstaben zwischen 'A' und 'F' und einer beliebigen Zahl suchen möchten.

Angenommen, die Seiten auf Ihrer Website verfügen über mehrere unterschiedliche Hintergrundfarben und Sie möchten die Farbe dieser Seiten in Schwarz ändern, z. B. 000000. Die hexadezimalen Zahlen für die vorhandenen Farben sind Ihnen jedoch nicht bekannt. Verwenden Sie den folgenden regulären Ausdruck, um nach allen vorhandenen hexadezimalen Zahlen zu suchen:

\#:h

Sie könnten [0-9a-fA-F] zur Suche verwenden. In diesem Beispiel werden jedoch der umgekehrte Schrägstrich (\) und das Nummernzeichen (#) mit der Syntax für die hexadezimale Stelle (:h) kombiniert. \# gleicht ein nicht im Ausdruck enthaltenes Nummernzeichen (#) ab, und :h gleicht eine beliebige Sequenz hexadezimaler Zeichen ab.

Geben Sie zum Ersetzen der vorhandenen hexadezimalen Zahlen die hexadezimale Zahl der gewünschten Hintergrundfarbe ein: 000000

:i

Bezeichner. Entspricht dem Ausdruck [a-zA-Z_$][a-zA-Z0-9_$]*.

Wenn Sie mit Code arbeiten und nach allen Programmbezeichnern suchen möchten, können Sie den Kurzausdruck :i verwenden, statt den obigen umständlichen Ausdruck einzugeben.

:n

Rationale Zahl. Entspricht dem Ausdruck ([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)|([0-9]+).

Wenn Sie in einem Dokument nach allen ganzen Zahlen suchen möchten, die eine Dezimalstelle enthalten, können Sie den Kurzausdruck :n verwenden, statt den obigen langen Ausdruck einzugeben.

:q

Zeichenfolge mit Anführungszeichen. Entspricht dem Ausdruck ("[~"]*")|('[~']*').

Wenn Sie nach allen Zitaten in Anführungszeichen suchen möchten, können Sie den Kurzausdruck :q verwenden, statt den obigen langen Ausdruck einzugeben.

:w

Alphabetische Zeichenfolge. Entspricht dem Ausdruck [a-zA-Z]+.

Diese Syntax ist eine Kurzfassung, die Ihnen das Suchen nach einem oder mehreren Buchstaben (Klein- oder Großbuchstaben) ermöglicht.

:z

Dezimale Ganzzahl. Entspricht dem Ausdruck [0-9]+.

Diese Syntax ist eine Kurzfassung, die Ihnen das Suchen nach jeder Zahl ermöglicht, die gleich Null oder größer als Null ist.

Siehe auch

Konzepte

Suchen und Ersetzen von Text und Code

Suchen und Ersetzen von Tags

Festlegen von HTML-Regeln zum Suchen von Text

Verwenden des Thesaurus