index Zurück zur Hilfe-Übersichthome Zurück zur Homepage

Suchmusterabgleich (Pattern-Matching)

Ein Suchmuster (Pattern) ist eine Zeichenkette, die folgende Spezialzeichen enthalten kann:

* Diese Stelle im Suchmuster kann eine beliebige Anzahl von Zeichen ersetzen, inklusive der leeren Zeichenkette.
? Diese Stelle im Suchmuster kann ein beliebiges Zeichen ersetzen.
! Startet die Zeichenkette mit diesem Zeichen dann erfolgt einer von der Groß-/Kleinschreibung abhängiger Suchabgleich. Das Startzeichen ! wird in diesem Fall nicht bei der Suche eingeschlossen.
( Diese Stelle im Suchmuster kann den Wortanfang, beginnend mit einem Buchtstaben oder einer Ziffer, abgleichen.
) Diese Stellen im Suchmuster kann das Wortende, endend mit einem Buchstaben oder einer Ziffer, abgleichen.
\x Bezeichnet das Zeichen x. Dies bietet einen Weg um die spezielle Interpretation der Zeichen ()*!?\ im Suchmuster zu unterdrücken. Aber auch das Leerzeichen kann geschützt werden.

Der Suchmusterabgleich unterscheidet generell nicht zwischen Groß- und Kleinschreibung, es sei denn das Suchmuster startet mit dem spezielle Zeichen !.

Auch das Leerzeichen wird als Spezialzeichen interpretiert (wenn es nicht geschützt wurde), es ersetzt immer eine beliebige Anzahl an Leerzeichen, aber keine leere Zeichenkette. Befindet sich aber vor oder nach dem Leerzeichen ein Trennzeichen (z.B. ein Komma), dann wird auch eine leere Zeichenkette mit dem Leerzeichen abgeglichen. Dadurch können Fehler in den Schreibweisen ausgeglichen werden. Ein geschütztes Leerzeichen (vorangestellter Rückwärtsschrägstrich) wird immer nur mit genau einem Leerzeichen abgeglichen.

Weiterhin gilt folgende Sonderregelung: ein beidseitig geklammerter Ausdruck, wie z.B. "(J*)", kann keine Zeichenkette ersetzen, die Leer- oder Trennzeichen enthält.

Beispiele

Polgar, J*

Dieses Suchmuster kann folgende Zeichenketten ersetzen: "Polgar, J", und "Polgar, Judit".

A?erba?h

Dies kann folgende Namen ersetzen: "Averbakh" (englische Schreibweise), und "Awerbach" (deutsche Schreibweise).

Kasparov*

Dies kann unter anderem die folgenden Zeichenketten ersetzen: "Kasparov", "Kasparova", "Kasparov, Garry" und "Kasparova, Tatiana".

Kasparov*)

Dies kann die gleichen Zeichenketten ersetzen wie im letzen Fall aufgezählt, denn alle endeten mit Buchstaben. Aber eine Zeichenkette wie z.B. "Kasparov, G." würde hier nicht ersetzt werden.

(Kasparov*)

Dies kann unter anderem die Zeichenketten "Kasparov" und "Kasparova" ersetzen, aber nicht "Kasparov, Garry" oder "Kasparova, Tatiana". Eine beidseitig geklammerte Schreibweise schließt Leer- und Trennzeichen aus.

(Kasparov)*

Dies kann unter anderem die Zeichenketten "Kasparov" und "Kasparov, Garry" ersetzen, aber nicht "Kasparova" oder "Kasparova, Tatiana".

Kasparov*,*

Dies kann unter anderem die Zeichenketten "Kasparov, Garry" und "Kasparova, Tatiana" ersetzen, aber nicht "Kasparov" oder "Kasparova".

Kasparov, Garry

Dies findet "Kasparov, Garry" auf. Aufgrund der Regelung mit dem Trennzeichen können ebenfalls auch die folgende Zeichenketten aufgefunden werden: "Kasparov,Garry" (fehlendes Leerzeichen) und "Kasparov,  Garry" (ein Leerzeichen zuviel).

Kasparov,\ Garry

Dies findet nur die Zeichenkette "Kasparov, Garry" (genau ein Leerzeichen) auf.

!MacDonald

Dies findet "MacDonald" auf, aber nicht "Macdonald", denn die Groß- und Kleinschreibung wird beachtet.

*\(Berlin\)

Dies kann beispielsweise durch die Zeichenkette "Deutschland (Berlin)" ersetzt werden. Die Zeichen ( und ) haben hier keine spezielle Bedeutung mehr, diese wurde mit dem Schrägstrich davon ausgenommen. Das heißt, daß die Zeichenkette "Deutschland Berlin" mit diesem Suchmuster nicht aufgefunden wird.