Reguläre Ausdrücke – nach ihrer englischsprachigen Bezeichnung „regular expressions“ kurz auch als Regex, Regexp oder RE bezeichnet – sind ein fundamentales, durchdachtes Konzept, das jeder IT-Benutzer, Entwickler, Systemadministrator und Autor kennen und zumindest grundlegend beherrschen sollte. Nicht ohne Grund sind Regexe fester Bestandteil der beiden Prüfungen LPIC-1 und CompTIA Linux+.
In der Vergangenheit erschienen in LinuxUser bereits mehrere Artikel zu diesem Thema, beispielsweise zu den Grundlagen regulärer Ausdrücke oder dem automatischen Erzeugen von REs . Der vorliegende Artikel konzentriert sich auf die praktische Anwendung von Regexen in der täglichen Arbeit mit den Texteditoren Vim und Emacs. Wir loten dabei aus, wie es um die Verfügbarkeit, Nutzbarkeit und praktische Anwendbarkeit regulärer Ausdrücke bei der Erstellung und Modifikation von Text und Programmcode bestellt ist.
Die meisten Anwender kennen sowohl Regexe als solche als auch die Navigation in einem Texteditor als separate Vorgehensweisen. Nach Beobachtung der Autoren wird jedoch die Anwendung regulärer Ausdrücke in Texteditoren oder integrierten Entwicklungsumgebungen (IDEs) nicht gelehrt – dieser Punkt verbleibt bei Ihnen als Anwender auf der Aufgabenliste. Dabei sind Texteditoren essenziell, da Sie damit programmieren und Textdaten erstellen beziehungsweise redigieren. Erst die Kombination aus beiden Vorgehensweisen erlaubt es Ihnen, alle Joker auszuspielen, die Ihnen zur Verfügung stehen.
Historie
Vim und Emacs sind grundlegende, freie und verlässliche Werkzeuge zur Textbearbeitung, die sich seit Längerem einen Stammplatz auf unixoiden Systemen gesichert haben. Die Beherrschung von wenigstens einem der beiden Tools ebnet Ihnen glaubhaft den Weg in den Hacker-Olymp. Alles andere gilt in Fachkreisen häufig als neumodischer Kram für Möchtegerntastendrücker und Mausschubser, die auf Kilometergeld aus sind.
Falls es bei einem Linux-Event Schneeball- oder Wasserschlachten zwischen beiden Lagern gibt, hilft es, vorab zu wissen, in welchem der beiden Teams