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:
- Ein Zeichen in der Quellenzeichenfolge entspricht keiner Position im regulären Ausdruck (der Vergleich ist falsch).
- Eine Zeichenfolge endet, aber die andere nicht (der Vergleich ist falsch).
- Beide Zeichenfolgen enden (der Vergleich ist wahr).
Syntax

- 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