Kurs: Reguläre Ausdrücke

Dauer: 1-2 Tage

Motivation: Sie sind Anwender, Datenverarbeiter oder Software-Entwickler und kennen Reguläre Ausdrücke noch nicht? Oder Sie kennen diese zwar, benutzen sie aber nur ungern oder haben das Gefühl, sie wären zu kompliziert? Dann ist dies genau der richtige Kurs für Sie! Denn Reguläre Ausdrücke sind DAS TOOL zur Verarbeitung von Texten und Daten! Sie sind in vielen Anwendungen (z.B. Word, Suchmaschinen, Vi/Vim, Emacs), Servern (z.B. Apache, Postfix, Qmail, Sendmail, Squid, Dansguardian, …) und in (fast) jeder Programmiersprache (z.B. Sed, Awk, Perl, PHP, Python, Ruby, Tcl/Tk, C/C++, Java, JavaScript, …) verfügbar. Man erlernt sie ein Mal und kann Sie überall einsetzen. Sie ersparen viel Programmierarbeit, da man einfach nur hinschreibt, WAS man suchen/ersetzen will und nicht, WIE man das machen will.

Ziel: Zunächst wird die Historie von Regulären Ausdrücken beleuchtet. Dann werden Schritt für Schritt ihre Elemente eingeführt und vor allem deren Kombination trainiert. Mittels vieler Übungen lernen Sie den effizienten Umgang mit Regulären Ausdrücken kennen. Und Sie werden viele Tricks und Tipps erhalten, die Ihnen den täglichen Umgang damit erleichtern. Beispielhaft eingesetzt werden die Regulären Ausdrücke mit den Linux/UNIX-Werkzeugen Grep, Sed, Awk, Vi/Vim und den Programmiersprachen Perl, PHP, Python, Ruby, Tcl/Tk, C/C++, Java und JavaScript.

Sie sind nach dem Kurs in der Lage, als Anwender, Datenverarbeiter, Systemadministrator oder Software-Entwickler gut und effizient mit Regulären Ausdrücken umzugehen und sie vor allem gerne einzusetzen.

Hinweis: Der Kurs ist für jedes Linux/UNIX-System geeignet.

Inhalt:

  • Historie
  • Grundlagen und Begriffe
    • Unterschied zu Filename-Globbing mit Wildcards (Jokerzeichen)
    • Pattern und Matching
    • Literal und Metazeichen
    • Quotierung und Escape-Sequenzen
    • Left-most, Greedy und Non-Greedy (Lazy)
  • Regex-Dialekte
    • Basic Regular Expressions (BRE)
    • Extended Regular Expressions (ERE)
    • Perl Compatible Regular Expression (PCRE)
  • Struktur von Regex
    • Verkettung (Konkatenation)
    • Zeichen(klassen)
    • Quantifizierer
    • Anker
    • Alternative (Oder-Verknüpfung)
    • Gruppierung (Backtracking und Backreference)
  • Suchen
  • Suchen & Ersetzen
  • Optionen
  • Beispiel-Anwendungen
    • Grep
    • Sed
    • Awk
    • Vi/Vim
    • C/C++
    • Java
    • JavaScript
    • Perl
    • Python
    • PHP
    • Ruby
    • Tcl/Tk

Schulungsunterlagen:

  • Skript
  • Lösungsblätter zu allen Übungen
  • Reguläre Ausdrücke — Beschreibung und Anwendung

Voraussetzungen:

  • Muss: Allgemeine Computer-Kenntnisse (Tastatur, Maus, Grafische Oberfläche, Editor)
  • Muss: Erfahrung in irgendeiner Programmiersprache
  • Optional: Linux/UNIX-Grundlagen
  • Optional: Arbeiten auf der Kommandozeile (analog MS-DOS)

Abgrenzung:

  • Keine Linux/UNIX-Grundlagen notwendig
  • Keine root-Rechte notwendig