Wildcard-Suche

Einleitung

Jadice bietet eine Suche über Dokumente mit textuellen Inhalten an. Diese Suche bietet mehrere Such-Optionen. Eine davon ist die Wildcard-Suche. Mit ihrer Hilfe lassen sich Suchen durchführen, bei denen die genaue Schreibweise des Suchbegriffes nicht bekannt ist oder Teile des Suchbegriffes variabel sind. Somit kann die Wildcard-Suche beispielsweise eingesetzt werden, wenn der Anwender ein Wort suchen möchte, welches verschiedene Schreibweisen hat. Mit Hilfe der Wildcard-Symbole kann somit mit einer Suche sowohl "bekanntgeben" als auch "bekannt geben" gefunden werden.

Verhalten der Wildcard-Suche

Die Wildcard-Suche bietet eigene Wildcard-Suchparameter an, das * und das ?. Sie erlauben folgendes Verhalten der Wildcard-Suche:

  1. Mit dem Wildcard-Suchparameter * können 0 bis beliebig viele Zeichen gesucht werden. Das ? sucht nach genau einem Zeichen. Als Zeichen werden Buchstaben, Zahlen, Sonderzeichen und Weißzeichen angesehen.
  2. Wenn nach den Zeichen * oder ? gesucht werden soll, müssen sie im Suchstring escaped werden. Dazu wird ein Backslash \ direkt vor das entsprechende Zeichen geschrieben.
    Beispiel: Mit dem Suchstring "te\*st" würde "te*st" gefunden werden, "test" dagegen nicht.
  3. Es können beliebig viele Wildcard-Symbole (auch in direkter Reihenfolge) in einer Suche eingesetzt werden. Jedes Einzelne verhält sich dabei wie oben beschrieben.
  4. Unter Einsatz der Wildcard-Suche ist es möglich Matches zu finden, die sich über mehrere Zeilen erstrecken. Matches über mehrere Seiten werden nicht gefunden.
  5. Bei der Suche wird der erste mögliche Match gefunden.
    Beispiel: Im Text "Ich teste hier" wird nach "t*e" gesucht und nur Wildcard ist ausgewählt.
    Das Erste nach dem t folgende e ist das e direkt nach dem t. Daher ist der Match hier "te", auch wenn am Ende von "teste" und in "hier" jeweils ein weiteres e vorkommt.
  6. Nach einem gefundenen Match wird der nächste Treffer ermittelt.

Corner-Cases

Bei der Wildcard-Suche ergeben sich mehrere Corner-Cases. Eine Übersicht bietet die folgende Tabelle:

Fallnotwendige Such-OptionenVerhaltenAnmerkungen
*, ?, ?*, *?, **, ??, ?*?, *?*(Haken) Wildcard

Es wird keine Suche angeboten und der Suchbutton ist disabled.

Hier ist keine Suche sinnvoll, da andernfalls der komplette Text ein Treffer wäre.




*abc(Haken) WildcardDas * wird ignoriert und es wird nur nach abc gesucht.Das * wird ignoriert, da ansonsten der komplette Text vom Anfang der Seite bis zum gefundenen Suchstring ein Treffer wäre. Bei mehreren Treffern auf einer Seite würde der nächste Treffer jeweils ab dem Vorherigen beginnen.
*abc

(Haken) Wildcard

(Haken) Nur ganze Wörter

Das * steht für 0 bis n Zeichen bis zum Wortanfang.
abc*(Haken) WildcardDas * wird ignoriert und es wird nur nach abc gesucht.Das * wird ignoriert, da ansonsten der komplette Text ab dem gefundenen Suchstring bis zum Ende der Seite ein Treffer wäre.
abc*

(Haken) Wildcard

(Haken) Nur ganze Wörter

Das * steht für 0 bis n Zeichen bis zum Wortende.




?abc(Haken) WildcardEs wird abc inklusive dem Zeichen davor gefunden.
?abc

(Haken) Wildcard

(Haken) Nur ganze Wörter

Es werden Wörter gefunden, die mit abc enden und nur ein Zeichen davor haben.
abc?(Haken) WildcardEs wird abc inklusive dem Zeichen danach gefunden.
abc?

(Haken) Wildcard

(Haken) Nur ganze Wörter

Es werden Wörter gefunden, die mit abc beginnen und nur ein Zeichen danach haben.




*?abc(Haken) WildcardEs wird abc mit einem Zeichen davor gefunden.*? wird hier wie nur ein ? behandelt, da ansonsten der komplette Text vom Anfang der Seite bis zum gefundenen Suchstring ein Treffer wäre. Bei mehreren Treffern auf einer Seite würde der nächste Treffer jeweils ab dem Vorherigen beginnen.
*?abc

(Haken) Wildcard

(Haken) Nur ganze Wörter

Es werden Wörter gefunden, die mit abc enden und mindestens ein Zeichen davor haben.
abc?*(Haken) WildcardEs wird abc mit einem Zeichen danach gefunden.?* wird hier wie nur ein ? behandelt, da ansonsten der komplette Text ab dem gefundenen Suchstring bis zum Ende der Seite ein Treffer wäre.
abc?*

(Haken) Wildcard

(Haken) Nur ganze Wörter

Es werden Wörter gefunden, die mit abc beginnen und mindestens ein Zeichen danach haben.
?*abc(Haken) WildcardEs wird abc mit einem Zeichen davor gefunden.?* wird hier wie nur ein ? behandelt, da ansonsten der komplette Text vom Anfang der Seite bis zum gefundenen Suchstring ein Treffer wäre. Bei mehreren Treffern auf einer Seite würde der nächste Treffer jeweils ab dem Vorherigen beginnen.
?*abc

(Haken) Wildcard

(Haken) Nur ganze Wörter

Es werden Wörter gefunden, die mit abc enden und mindestens ein Zeichen davor haben.
abc*?(Haken) WildcardEs wird abc mit einem Zeichen danach gefunden.*? wird hier wie nur ein ? behandelt, da ansonsten der komplette Text ab dem gefundenen Suchstring bis zum Ende der Seite ein Treffer wäre.
abc*?

(Haken) Wildcard

(Haken) Nur ganze Wörter

Es werden Wörter gefunden, die mit abc beginnen und mindestens ein Zeichen danach haben.




ab?*cd(Haken) WildcardDas ?* steht für 1 bis beliebig viele Zeichen.
ab*?cd(Haken) WildcardDas *? steht für 1 bis beliebig viele Zeichen.




a*b(Haken) WildcardDer Match erstreckt sich vom a bis zum ersten danach auf der Seite gefundenen b.
a*b

(Haken) Wildcard

(Haken) Nur ganze Wörter

Es werden Wörter gefunden, die mit a beginnen und mit b enden.

Beispiele

Zur besseren Veranschaulichung der Wildcard-Suche sind im Folgenden Suchbeispiele aufgeführt. Zur leichteren Erkennbarkeit sind die Suchergebnisse jeweils farbig markiert:

SuchstringSuch-OptionenTrefferSuchtext
 "lo*m"(Haken) Wildcard"Lorem", "lor sit am", "lore m", "lores et ea rebum", "Lorem" und "lor sit am"

"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."

"lo*m"

(Haken) Wildcard

(Haken) Nur ganze Wörter

"Lorem" und "Lorem"

"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."

"*ea"(Haken) Wildcard"ea" und "ea"

"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."

"?et"(Haken) Wildcard"met", "set", " et", " et", " et", " et", "tet" und "met"

"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."

"?*"(Haken) Wildcardkeine Treffer

"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."

"s?*t"(Haken) Wildcard

"sum dolor sit", "set", "sadipscing elit", "sed diam nonumy eirmod t", "sed diam volupt", "s et", "sam et", "sto duo dolores et", "Stet", "sd gubergren, no sea t", "sanct", "s est" und "sum dolor sit"

"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."