Reguläre Ausdrücke, englisch Regular Expressions oder kurz RegEx, helfen beim Durchsuchen von Strings. Aber wie genau funktionieren reguläre Ausdrücke in der IT?
Regular Expressions eignen sich sehr gut dafür, lange Zeichenketten oder Datenreihen nach bestimmten Mustern zu durchsuchen.
Auf Basis syntaktischer Regeln können in der IT Zeichenketten gebildet werden, diese werden als regulärer Ausdruck oder RegEx (kur für Regular Expression) bezeichnet. Entlehnt ist das Prinzip der Idee der regulären Sprache und zählt als Teil der formalen Sprachen. Als Urheber der Formalisierung der regulären Sprache und des Ausdrucks „regular expressions“ gilt der Mathematiker Stephen Cole Kleene.
In der Regel dienen reguläre Ausdrücke der Beschreibung verschiedener Mengen von Zeichenketten, dies kommt in unterschiedlichen Szenarien zum Einsatz. Beispiele hierfür sind Funktionen wie „Suchen & Ersetzen“ oder einer einfachen Implementierung in eine beliebige Programmiersprache.
Jeder Ausdruck geht einher mit der Existenz eines endlichen Automaten (ein Verhaltensmodell aus Zuständen, Zustandsübergängen und Aktionen). Dieser Automat kann mithilfe der Thompson-Konstruktion aus dem regulären Ausdruck gebildet werden und beschreibt die Sprache, die im regulären Ausdruck spezifiziert wird.
Was in der Theorie aufgrund der mathematischen Basis recht kompliziert klingt, lässt sich bei einem Blick auf die Anwendungsszenarien besser verstehen.
Wie sieht ein regulärer Ausdruck aus?
Ein regulärer Ausdruck besteht aus normalen Zeichen und wahlweise aus Metazeichen. Während die normalen Zeichen eine Referenz auf den Inhalt eines Strings sind, können die Metazeichen (etwa: * oder +) bestimmte Regeln in den regulären Ausdruck übertragen. Muster regulärer Ausdrücke folgen dabei sehr strikten Regeln und müssen mit der Zeichenkette exakt übereinstimmen, es sei denn durch Metazeichen wird eine andere Auslegung der Regel impliziert.
Ein Beispiel wäre der reguläre Ausdruck „gut“ – dieser müsste genau so in einem String vorkommen, um identifiziert zu werde. Die Spezifikationen würden aber durch verschiedene Bedingungen erfüllt wie beispielsweise „gut“, „gute“, „Erbgut“ oder „ungutes“. Relevant ist für die Übereinstimmung mit dem regulären Ausdruck nicht die Position im String, sondern lediglich das Vorkommen aller normalen Zeichen in der vordefinierten Reihenfolge.
Metazeichen können neue Regeln in den regulären Ausdruck induzieren, so dass der reguläre Ausdruck erweitert werden kann. Einige Beispiele für Metazeichen in regular expressions:
+ – Zeichen vor einem Pluszeichen müssen mindestens einmal vorhanden sein: gu+t würde also übereinstimmen mit gut wie auch mit guuuuuuut.
? – Zeichen vor einem Fragezeichen dürfen maximal einmal vorkommen, müssen aber nicht vorkommen: gu?t würde also übereinstimmen mit gut wie auch mit gt.
* – Zeichen vor einem Sternchen dürfen beliebig oft (0 bis unendlich) in einem String vorkommen: gu*t stimmt also mit gt ebenso überein wie mit gut oder guuuuut.
$ – Zeichen vor einem Dollarzeichen werden nur am Ende einer Zeile gesucht.
- – Der Bindestrich gibt einen Bereich im String an: 1-10 würde also mit allen Zahlen zwischen eins und zehn übereinstimmen
Der Einsatz von Metazeichen gilt hierbei ebenso für Zeichen wie auch für Gruppen und Klassen.
Wie funktionieren reguläre Ausdrücke in der Praxis?
Anhand eines Suchmusters ist es am einfachsten, an den Fall einer Suche zu denken. Tatsächlich kamen regular expressions auch hier erstmals zum Einsatz. In den 60ern implementierte Ken Thompson die regulären Ausdrücke in den Unix Editor qed und noch heute werden regular expressions in den Bibliotheken vieler Programmiersprachen genutzt.
Nicht nur für Programmiererinnen und Programmierer ist die Kenntnis regulärer Ausdrücke und der darunter liegenden Syntax vorteilhaft, auch User von Software wie Open Office können mithilfe von RegEx schneller Suchoperationen durchführen. Ein Suchmuster etwa ist ein ideales Beispiel für den Einsatz von regulären Ausdrücken und vor allem für dein Einsatz von Metazeichen, um den syntaktischen Sinn hinter diesen Abkürzungen zu verstehen.
RegEx [123456789] würde eine Zeichenklasse definieren, in der jedes Zeichen aus der Klasse gesucht wird. Dieser Ausdruck ließe sich auch ausdrücken über [1-9] und könnte auch in einem zusammengefassten Ausdruck Zahlen ausschließen. [1-46-9] würde beispielsweise die Fünf ausschließen, da keine Leerzeichen eingesetzt werden, wirkt die Schreibweise auf den ersten Blick etwas befremdlich.
XML-Dokumente beschränken den Einsatz von regulären Ausdrücken auf Elementinhalte, während etwa in JavaScript auch String-Methoden über reguläre Ausdrücke genutzt werden. Die Syntax von regular expressions unterscheidet sich zwischen den Programmiersprachen so gut wie gar nicht, so dass das Meistern der regulären Ausdrücke zwischen den Sprachen bestens übertragbar ist. Der generelle Aufbau eines regulären Ausdrucks ist dreiteilig und stets gleich:
Suchmuster (Pattern): Bestehend aus normalen Zeichen oder Metazeichen gibt das Suchmuster den zu suchenden Inhalt an.
Trennzeichen (Delimiter): Um Anfang und Ende eines Suchmusters anzugeben, kommen alphanumerische Trennzeichen zum Einsatz. Diese können sich von Sprache zu Sprache unterscheiden, lediglich der Backslash ist ausgenommen.
Gewöhnlich sind die Trennzeichen „Anführungszeichen“ oder /Forward Slashes/.
Modifikatoren (Modifier): Angehängt an den regulären Ausdruck, sind Modifier zusätzliche Bedingungen für das Suchmuster angeben. Die gängigsten Modifikatoren sind i, s, m und x – i hebt beispielsweise die Restriktion auf Groß- und Kleinschreibung auf.
Reguläre Ausdrücke verstehen und nutzen
Vor allem in Webanwendungen und Unix-Skripten kommen RegExen zum Einsatz, auch Programme die auf der Eingabe von User*innen basieren, nutzen in der Regel reguläre Ausdrücke. Das Beherrschen der Syntax, der Metazeichen und Modifier ist zudem eine wichtige Fertigkeit, um schnelleres und eleganteres Coden zu meistern.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.