like (Operator)

Mithilfe des Operators 'like' wird eine Zeichenfolge mit einem regulären Ausdruck verglichen. Die für den Operator 'like' verfügbaren regulären Ausdrücke umfassen Platzhalter- und Escapezeichen. Der Operator 'like' ähnelt dem Schlüsselwort LIKE in SQL. Informationen zu leistungsfähigeren regulären Ausdrücken finden Sie im Abschnitt matches (Operator). Der Operator führt den Vergleich Zeichen für Zeichen von links nach rechts durch und endet, sobald eine der folgenden Bedingungen erfüllt ist:

Syntax

Syntaxdiagramm für den Operator 'like'
Zeichenfolge
Eine Variable vom Typ STRING für den Vergleich mit einem regulären Ausdruck.
regulärer_Ausdruck
Ein regulärer Ausdruck, mit dem die Zeichenfolge verglichen werden soll. Bei dem regulären Ausdruck kann es sich um ein beliebiges Literal oder eine beliebige Variable handeln, das/die mit dem Typ STRING zuordnungskompatibel ist. Ausnahme: DBCHAR. (EGL kann keine Doppelbyte-Platzhalterzeichen erkennen.) Weitere Informationen hierzu finden Sie im Abschnitt 'Regeln für reguläre Ausdrücke' in diesem Thema.

Regeln für reguläre Ausdrücke

Sie können die folgenden Sonderzeichen in einen regulären Ausdruck mit dem Operator 'like' einschließen:
%
Fungiert als Platzhalter, der für null oder mehr Zeichen in der Quellenzeichenfolge steht.
_ (Unterstreichungszeichen)
Fungiert als Platzhalter, der für ein einzelnes Zeichen in der Quellenzeichenfolge steht.
\ (umgekehrter Schrägstrich)
Gibt an, dass das folgende Zeichen mit einem einzelnen Zeichen in der Quellenzeichenfolge verglichen werden soll. Der umgekehrte Schrägstrich (\) wird auch Escapezeichen genannt, da es dazu führt, dass die übliche Verarbeitung durch ein Escape 'verlassen' wird. Das Escapezeichen selbst wird mit keinem Zeichen in der Quellenzeichenfolge verglichen. Das Escapezeichen steht normalerweise vor einem Prozentzeichen (%), einem Unterstreichungszeichen (_) oder einem weiteren umgekehrten Schrägstrich.
Wenn Sie den umgekehrten Schrägstrich als Escapezeichen verwenden (was dem Standardverhalten entspricht), tritt ein Problem auf, da EGL dasselbe Escapezeichen verwendet, um das Einschließen doppelter Anführungszeichen in einen Textausdruck zu ermöglichen. Im Zusammenhang mit einem regulären Ausdruck müssen Sie zwei umgekehrte Schrägstriche angegeben, da es sich bei dem zur Laufzeit verfügbaren Text um den Text handelt, in dem der anfängliche umgekehrte Schrägstrich fehlt. Um dieses Problem zu vermeiden, müssen Sie ein anderes Zeichen als Escapezeichen angeben, indem Sie das Schlüsselwort 'escape' verwenden, wie unter "Beispiele" in diesem Thema gezeigt wird. Hierbei ist zu beachten, dass kein doppeltes Anführungszeichen (") als Escapezeichen verwendet werden kann.

Alle anderen Zeichen im regulären Ausdruck sind Literale, die mit einem einzelnen Zeichen in der Quellenzeichenfolge verglichen werden.

Beispiele

Im folgenden Beispiel werden Platzhalterzeichen in einem regulären Ausdruck verwendet:
myVar01 = "abcdef";

// Wird als TRUE (wahr) ausgewertet 
if (myVar01 like "a_c%")
   ;
end
Das folgende Beispiel zeigt die Verwendung eines Escapezeichens. Bitte beachten Sie hier die Verwendung von doppelten umgekehrten Schrägstrichen:
myVar01 = "ab%def";

// Wird als 'true' (wahr) ausgewertet 
if (myVar01 like "ab\\%def")
   ;
end 
Im folgenden Beispiel wird das Schlüsselwort 'escape' verwendet, um das Pluszeichen als Escapezeichen im regulären Ausdruck zu verwenden:
myVar01 = "ab%def";

// Wird als 'true' (wahr) ausgewertet
if (myVar01 like "ab+%def" escape "+")
   ;
end
Der Operator 'like' ignoriert abschließende Leerzeichen in beiden Operanden:
// Wird als 'true' (wahr) ausgewertet
if ("hello " like "hello      ")
   ;
end

Feedback