Lektion 3: Muster erkennen, Suchen Ersetzen, Reguläre Ausdrücke - mkappus1/datenmanagement-mt-25 GitHub Wiki
Lektion 3: Muster erkennen, Suchen Ersetzen, Reguläre Ausdrücke
- Warum werden reguläre Ausdrücke benötigt?
- Was ist ein regulärer Ausdruck?
- Werkzeuge für reguläre Ausdrücke
- Praktische Anwendungen
Warum werden reguläre Ausdrücke benötigt?
Manuell Änderungen in grosse Dateien vorzunehmen, kann aus verschiedenen Gründen sehr aufwändig sein. Computer und digitale Tools sind in der Regel sehr gut darin, in grossen Datenmengen vordefinierte Muster zu finden und diese dann gegebenenfalls entsprechend anzupassen. Sowohl bei der Vorbereitung von (mehrsprachigen) Daten für das Training von NMT-Systemen aber auch beim Bereinigen von vorliegenden Sprachressourcen gibt es immer wieder Änderungen
- die sich einigermassen gut formalisieren lassen
- die auf viele Elemente in den Daten angewendet werden sollen
In dieser Lektion werden sogenannte reguläre Ausdrücke vorgestellt, die bei solchen Änderungen sehr hilfreich sein können.
Warum nicht nur Suchen/Ersetzen?
In vielen Software Anwendungen findet man eine klassische "Suchen/Ersetzen" Funktion, die eine vorgegebene Zeichenkette durch eine andere ersetzt. Warum werden über diese Suchen/Ersetzen Funktionalität hinaus noch andere Werkzeuge für die Manipulation von Texten?
Gerade im Datenmanagement für die MT (Maschinelle Übersetzung) gibt es viele praxisnahe Szenarien, in denen ein simples „Suchen und Ersetzen“ nicht ausreicht und man reguläre Ausdrücke (RegEx) braucht.
Hier einige typische Beispiele aus dem Bereich Textverarbeitung, Translation Memories, Korpora-Bereinigung und Preprocessing, bei denen RegEx viel mehr Flexibilität bietet als einfache Suchen-Ersetzen-Operationen.
Was ist ein regulärer Ausdruck?
Was macht reguläre Ausdrücke regulär
Reguläre Ausdrücke heissen so, weil sie ursprünglich aus der mathematischen Beschreibung regulärer Sprachen stammen – also aus der formalen Sprachtheorie. Heute sind sie ein praktisches Werkzeug zur Mustersuche in Texten, mit Wurzeln in der Mathematik.
The name "regular expression" originates from the mathematical concept of regular languages, which were first studied by mathematicians in the field of formal language theory. Regular expressions are a way to describe and match patterns in strings of characters, hence the name "regular" expressions. Introduction and History of Regular Expression - DEV Community
Anschauliche Erklärung
Ein regulärer Ausdruck ist ein Suchmuster für Text – ein bisschen wie eine „intelligente Suchfunktion“.
Ein regulärer Ausdruck (engl. regular expression, kurz Regex) ist ein Muster, mit dem man Text durchsuchen, analysieren oder verändern kann.
Stellen Sie sich vor, Sie möchten in einem grossen Text:
- alle Telefonnummern finden
- alle Wörter zählen, die mit „ver“ beginnen
- alle E-Mail-Adressen extrahieren
Das geht mit regulären Ausdrücken – intelligenten Suchmustern, die weit mehr können als „Strg+F“.
Beispiel:
- Suchen Sie alle Wörter, die mit "ver" beginnen:
\bver\w+
- Finden Sie alle Zahlen:
\d+
Hier eine Tabelle mit einigen Beispielen. In der Spalte Ziel finden Sie die Fragestellung für das wonach gesucht werden soll (in natürlicher Sprache ausgedrückt). Unter Suchwort finden Sie Beispiele dafür, was gefunden werden soll. Und in der Spalte regulärer Ausdruck sehen Sie, wie dieser Suchausdruck in der Regex Notation aussehen kann (es gibt oft mehrere Reguläre ausrücke, die die gleichen Muster finden.
Ziel | Suchwort | Regulärer Ausdruck |
---|---|---|
Alle Wörter mit „ver“ am Anfang | ver |
\bver\w+ |
Alle Zahlen im Text | 123 (Beispiel) |
\d+ |
E-Mail-Adressen finden | [email protected] |
\w+@\w+\.\w+ |
Wörter mit genau 5 Buchstaben | — | \b\w{5}\b |
Alle Satzzeichen | — | `[ |
Hinweis: Ein regulärer Ausdruck ist kein konkreter Text, sondern eine Beschreibung von möglichen Texten.
Einige wichtige Bausteine regulärer Ausdrücke
Symbol | Bedeutung | Beispiel |
---|---|---|
\b |
Wortgrenze | \bver\w+ |
\w |
Beliebiger Buchstabe oder Ziffer (alphanum.) | \w+ |
\d |
Beliebige Ziffer (digit) | \d+ |
+ |
„einmal oder mehr“ | \d+ = eine oder mehr Ziffern |
{5} |
Genau 5 Wiederholungen | \w{5} |
[...] |
Eine Auswahl von Zeichen | [aeiou] = ein Vokal |
Didaktischer Kniff: Interaktives Mitmachen
💡 Aufgabe für die Studierenden (Live oder Hausaufgabe):
Was findet der folgende reguläre Ausdruck?
\b[A-Z][a-z]+
🔍 Tipp: Beginnt mit einem Grossbuchstaben, gefolgt von Kleinbuchstaben – also z. B. Eigennamen!
Nächster Schritt (Vorschau):
- Reguläre Ausdrücke testen – Tools wie regex101.com
- Reguläre Ausdrücke in Python oder anderen Tools anwenden (z. B. Notepad++, grep, Excel, o. Ä.)
- Häufige Muster in der Textverarbeitung (z. B. Daten extrahieren, Texte bereinigen)