Ansichten

Reguläre Ausdrücke

Reguläre Ausdrücke (kurz Regex) sind Suchmuster. Sie finden Varianten, ohne dass jede Schreibweise einzeln eingegeben werden muss.

Verfügbar sind sie an zwei Stellen: als Operator Regulärer Ausdruck in der Detailsuche und als Änderungsart Regex-Ersetzen in der Stapelverarbeitung .

Wie Moliri sie auswertet

Treffer werden wie eine Enthält-Suche behandelt: das Muster muss irgendwo im Wert vorkommen, nicht den ganzen Wert abdecken. 18\d{2} findet also jedes Vorkommen von 18 gefolgt von zwei Ziffern, auch mitten in einem Beschreibungstext.

In der Detailsuche wertet die Datenbank das Muster aus; ein Muster, das sich nicht auswerten lässt, wird abgewiesen. In der Stapelverarbeitung gilt die Syntax von JavaScript. Die Ausdrücke der folgenden Tabelle funktionieren an beiden Stellen.

Syntax

AusdruckBedeutung
.Ein beliebiges Zeichen außer Zeilenumbruch
^Beginn der Zeile
$Ende der Zeile
*0 oder mehr Wiederholungen des vorherigen Zeichens
+1 oder mehr Wiederholungen
?0 oder 1 Wiederholung (optional)
{n}Genau n Wiederholungen
{n,}Mindestens n Wiederholungen
{n,m}Zwischen n und m Wiederholungen
\dEine Ziffer (0-9)
\DKein Ziffernzeichen
\wEin Wortzeichen (a-z, A-Z, 0-9, _)
\WKein Wortzeichen
\sEin Leerzeichen, Tabulator oder Zeilenumbruch
\SKein Leerzeichen
[abc]Eines der Zeichen a, b oder c
[^abc]Keines der Zeichen a, b oder c
[a-z]Ein beliebiges Zeichen von a bis z
[0-9]Eine Ziffer von 0 bis 9
(abc)Gruppierung; bei Ersetzungen als $1, $2 … wiederverwendbar
(?:abc)Gruppierung ohne Wiederverwendung
\|ODER. Apfel\|Birne findet Apfel oder Birne
\. \( \/Ein Sonderzeichen wörtlich suchen

Warum das bei Sammlungsdaten hilft

Museale Bestände sind uneinheitlich, weil sie über Jahrzehnte und aus verschiedenen Quellen entstanden sind. Reguläre Ausdrücke helfen bei den typischen Folgen davon: verschiedene Schreibweisen desselben Namens, verschiedene Trennzeichen in Nummern und Zahlen, die in Freitext stehen und deshalb keinem Größer-kleiner-Vergleich zugänglich sind.

Beispiele

Künstlername in verschiedenen Schreibweisen

Claude Monet|C\.? Monet|Monet, Claude

Findet Claude Monet, C. Monet, C Monet, Monet, Claude.

Titel mit und ohne Bindestrich

Still[- ]?leben

Findet Stillleben, Still-Leben, Still Leben.

Jahreszahlen in einem Freitextfeld

18\d{2}

Findet 1805, 1832, 1899, auch mitten in einem Satz. Das ist die einzige Möglichkeit, Datierungen aus Beschreibungstexten zu erreichen, wo ein Größer-kleiner-Vergleich nicht greift.

Materialangaben mit Varianten

Öl auf (Leinwand|Holz)|Ölgemälde

Inventarnummern mit wechselndem Trennzeichen

\d{3}[-/.]\d{3}

Findet 123-456, 123/456, 123.456.

Werte, die genau einem Muster entsprechen müssen

^INV \d{4}/\d{4}$

Mit ^ und $ wird die Enthält-Wirkung aufgehoben, der Ausdruck muss den ganzen Wert abdecken.

Doppelte Leerzeichen finden

\s{2,}

Zusammen mit der Änderungsart Whitespace zusammenfassen in der Stapelverarbeitung das Werkzeug zum Aufräumen importierter Texte.

In der Stapelverarbeitung

Regex-Ersetzen nimmt zusätzlich Optionen (etwa g für alle Vorkommen, i für Groß- und Kleinschreibung ignorieren) und einen Ersetzungswert, in dem Gruppen als $1 wiederverwendbar sind:

ZielMusterOptionenErsetzung
1990 - 2000 → 1990-2000(\d{4})\s*-\s*(\d{4})g$1-$2
Müller, Anna → Anna Müller^(\w+), (\w+)$$2 $1
Klammerzusätze entfernen\s*\([^)]*\)g(leer)
Erst prüfen, dann anwenden

Eine Ersetzung per regulärem Ausdruck über hunderte Objekte ist mächtig und schwer zurückzunehmen. Die Stapelverarbeitung zeigt vor dem Anwenden eine Vorschau je Objekt mit hervorgehobenen Unterschieden. Diese Vorschau ist zu lesen, nicht wegzuklicken. Siehe Stapelverarbeitung .

\ en\ de