Sie können in LQL reguläre Ausdrücke verwenden, wie in Mit komplexen Abfragen suchen beschrieben, sofern Sie diese in Anführungszeichen, " ", setzen und ihnen das Schlüsselwort QLREGEX voranstellen.
Ein regulärer Ausdruck ist eine Gruppe von Zeichenfolgen, die bestimmten Mustern entsprechen. Bei diesen Mustern dienen die Sonderzeichen $, ^, ., *, +, ?, [, ], (, ), \, als Operatoren für allen anderen normalen Zeichen. Ein normales Zeichen ist ein einfacher regulärer Ausdruck, der nur einem Zeichen entspricht und keine andere Bedeutung hat, h entspricht z. B. nur h. Um ein Sonderzeichen als normales Zeichen darzustellen, stellen Sie diesem einen umgekehrten Schrägstrich (\) voran. \$ entspricht z. B. $.
Die folgenden Richtlinien sollten beim Verwenden regulärer Ausdrücke berücksichtigt werden:
-
Wird der reguläre Ausdruck zusammen mit dem Schlüsselwort QLREGEX in einer Content Server-Suche verwendet, wird der angegebene reguläre Ausdruck an jeder beliebigen Position innerhalb eines Wortes in einem Content Server-Objekt gefunden. Wenn Sie z. B. QLREGEX "Hand" eingeben, wird nach allen Objekten mit mindestens einem Wort gesucht, das Hand enthält, z. B. Hand, Handlung, Abhandeln.
-
Sie können zwei beliebige reguläre Ausdrücke miteinander verbinden (<x> und <y>), um einen regulären Ausdruck zu bilden, der einer zu suchenden Zeichenfolge entspricht (wenn <x> für den Anfang dieser Zeichenfolge und <y> für den Rest dieser Zeichenfolge steht). h\$ entspricht z. B. h$.
-
In Wortfolgen-Abfragen ist die Verwendung des Schlüsselworts QLREGEX mit regulären Ausdrücken aufgrund der erforderlichen Verarbeitung für reguläre Ausdrücke meistens weniger effizient als die Verwendung des Schlüsselworts OR.
-
Durch das Einschränken einer Suche können Sie insbesondere bei Präfixsuchen Zeit sparen. Wenn Sie z. B. nach 1995er Teilenummern suchen möchten, die mit d beginnen, dauert eine Suche mit QLREGEX "^d" länger als eine Suche mit QLREGEX "^d1995".
-
Vermeiden Sie die Verwendung von regulären Ausdrücken in Suchvorgängen für kurze Endungen, wie z. B. et, da die Suchmaschine alle Wörter im Index von links nach rechts analysieren muss, um Endungen zu finden. Kombinieren Sie stattdessen Endungen mit Anfängen in regulären Ausdrücken, oder verwenden Sie den Modifikator Wort endet mit, um die Suche einzuschränken.
Zum Beschreiben von Zeichenfolgengruppen können Sie die Operatoren in der folgenden Liste verwenden.
Tabelle 1-3: Operatoren zum Beschreiben von Zeichenfolgengruppen
| Operator |
Beschreibung |
| . |
Entspricht einem beliebigen einzelnen Zeichen. Beispielsweise entspricht \a.2 einem beliebigen Wort, das eine Zeichenfolge von drei Zeichen enthält, die mit a beginnt und mit 2 endet, z. B. ab2z, aa2 oder aaa2zzz. |
| [] |
Schließt eine Zeichengruppe oder einen Bereich ein. Dabei gilt die folgende Regel:
| • |
Bereiche und einzelne Zeichen können vermischt werden. |
| • |
In einer Zeichengruppe haben ], - und ^ eine spezielle Bedeutung. Alle anderen Zeichen stellen nur sich selbst dar. |
| • |
Das Minuszeichen, -, ist ein Bereichsoperator zwischen zwei Zeichen. |
| • |
Das Caretzeichen, ^, kann in einer Zeichengruppe nur als erstes Zeichen verwendet werden. | Zum Beispiel entspricht [abc] a, b oder c überein.[a-z] entspricht sämtlichen Kleinbuchstaben.[-$a0-9] entspricht -, $, a oder jeder einfachen Ziffer. |
| [^] |
Anfang einer Zeichengruppe, die die angegebene Zeichengruppe ergänzt. Es entspricht einem beliebigen Zeichen mit Ausnahme der angegebenen Zeichen. Wenn - oder ] den Zeichen [^ nachgestellt wird, wird - oder ] als erstes Zeichen interpretiert. Zum Beispiel entspricht [^a-z] jedem Zeichen, mit Ausnahme der Buchstaben des Alphabets.[^]^a-z0-9] entspricht jedem Zeichen, mit Ausnahme von ], ^ oder alphanumerischen Zeichen. |
| ^ |
Entspricht der leeren Zeichenfolge am Wortanfang. ^sp findet z. B. alle Instanzen von sp am Wortanfang, z. B. speziell, aber nicht Anspannung. |
| * |
Entspricht dem kleinsten vorhergehenden regulären Ausdruck null oder mehrere Male. Der Operator * nach einem regulären Ausdruck mit ^ als Wortanfang wird jedoch als Ausdruck mit einer beliebigen Endung interpretiert, wie ein Platzhalter (*) in Abfragen. Zum Beispiel findet ad* a, ad, add usw. |
| + |
Entspricht dem kleinsten vorhergehenden regulären Ausdruck, sofern dieser mindestens einmal vorkommt. So entspricht z. B. tr[ei]+ tre, tri, tree, trie, triie und so weiter. Es entspricht jedoch nicht tr. |
| ? |
Entspricht dem kleinsten vorhergehenden regulären Ausdruck, sofern dieser nicht oder einmal vorkommt. Beispiel: se[ea]? entspricht nur se, sea und see. |
| $ |
Entspricht der leeren Zeichenfolge am Wortende. the$ entspricht z. B. den Zeichen the, wenn diese am Ende eines Wortes oder einer Zeile vorkommen. |
| | |
Trennt zwei Alternativen. Wenn x und y reguläre Ausdrücke sind, entspricht x|y allen Zeichen, die mit x oder y übereinstimmen. See|Meer findet z. B. nur See und Meer.[abc] kann auch als a|b|c geschrieben werden. |
| () |
Gruppiert Objekte, wie z. B. Alternativen oder komplexe reguläre Ausdrücke, sodass Sie diese mit anderen regulären Ausdrücken und Operatoren kombinieren können. (ro)?(ko)+ entspricht z. B. einer beliebigen Anzahl (nicht Null) von ko-Zeichenfolgen, denen nichts oder ro vorgestellt ist. Beispiel: ko, koko, rokoko usw. |