Einführung

Mit diesem Teil unseres Referats wollen wir einen Einblick in die Funktionsweise von Regulären Ausdrücken und in deren Anwendung geben. Reguläre Ausdrcke sind Ausdrücke, welche Suchmuster definieren, nach denen in Zeichenketten geparst werden kann. Sie nehmen dem Anwender das mühsame Suchen nach Textausschnitten ab, erfordern aber das Erlernen einer speziellen Syntax. Insbesondere die Beschreibung von komplizierten Zeichenketten endet oft in kryptischen Suchmustern. Bevor auf die Anwendung von Regulären Ausdrücken eingegangen wird, wird zuerst in die Terminologie und in die Syntax eingeführt. Mit den anschliessenden Beispielen, wird deren Benutzung illustriert. Die Anwendung von Regulären Ausdrücken ist Bestandteil fast jeder Programmiersprache.

Reguläre Ausdrücke sind besonders in der UNIX-Welt stark verbreitet. Viele Kommandozeilenbefehle enthalten dort bereits diese Funktionalität, ebenso beinhalten die meisten Editoren die Möglichkeit nach Textmustern mit Hilfe von Regulären Ausdrücken zu suchen. In der Windows-Welt finden sich Reguläre Ausdrücke nur in beschränktem Masse wieder. Mit dem Aufkommen des Internets haben Reguläre Ausdrücke einen starken Aufschwung erhalten. Da HTML Seiten als normaler Text versendet wird, sind Reguläre Ausdrücke besonders dazu geeignet, solche Inhalte zu parsen. Reguläre Ausdrücke finden sich in fast allen Scriptsprachen wie Perl, Python, Tcl/Tk, etc. Daher basieren viele CGI-Scripte auf auch solchen Sprachen, da sie ideale Voraussetzungen für das parsen von HTML-Pages bieten.

Grundbausteine von Regular Expressions

Reguläre Ausdrücke haben eine feste Grundsyntax, welche sich in allen Implementationen von Script- und Programmiersprachen wieder finden. Alle die vorgestellten Elemente sind Bestandteil dieser Grundsyntax, lassen sich also eins zu eins in jede Sprache übernehmen. Mit Regulären Ausdrücken sind trotz klarer Definitionen Suchmuster zu konstruieren, welche auf den ersten Blick undurchschaubare Übereinstimmungen ergeben. Regular Expressions bestehen aus meheren Einheiten, so wie auch ein Satz aus Verben, Substantiven, Adjektiven und Punkten zusammengesetzt ist. Diese Einheiten können miteinander verbunden werden und ermöglichen so komplexe Suchmuster (Patterns) zu erstellen.

Grundsätzlich bestehen Regular Expressions aus drei Grundeinheiten:

Atoms:
Sie sind die kleinsten Einheiten
Pieces
Diese werden aus Atoms gebildet
Ranges:
Sie bilden Bereiche ab
Es ist anzumerken, dass jede dieser Einheiten für sich auch eine Regular Expression darstellt. In den nächsten Abschnitten folgt eine tabellarische Erklärung dieser Einheiten.

Atoms

Atoms sind, wie bereits erwähnt, die kleinsten Einheiten einer Regular Expression. Wie der Name bereits sagt, sind diese Einheiten nicht weiter unterteilbar.

Pieces

Pieces sind zusammengesetzte atomare Ausdrücke. Unten aufgeführt finden sich auch die sogenannten Quantifiers *, +, ?, {n} und {n,m}. Sie geben an, wie oft ein Zeichen vorkommen bzw. nicht vorkommen darf.

Ranges

Ranges definieren Zeichenbereiche, sie dienen dazu dem Anwender das langwierige eintippen von üblichen aufeinanderfolgenden Zeichen abzunehmen. Zusätzlich erhöht sich dadurch auch die Lesbarkeit von Regular Expressions.