RegEx

Regex

┬ę Copyright Shutterstock / Imagentle

Was bedeutet RegEx?

Die Abk├╝rzung RegEx steht f├╝r den englischen Begriff Regular Expression und bedeutet auf Deutsch regul├Ąrer Ausdruck. Als regul├Ąrer Ausdruck wird in der theoretischen Informatik sowie der formalen Sprachtheorie eine Zeichenfolge bezeichnet, mit der ein Suchmuster definiert wird. Suchmuster werden von Suchalgorithmen f├╝r die Suche nach bestimmten Zeichenfolgen genutzt. Beispiele sind die Funktionen “Suchen” und “Suchen und Ersetzen” in Textverarbeitungsprogrammen.

Entwickelt wurde das Konzept des RegEx in den 1950er Jahren vom amerikanischen Mathematiker Stephen Cole Kleene, der die Beschreibung einer regul├Ąren Sprache erstmals formalisierte und damit einen Grundstein f├╝r die maschinelle Textverarbeitung legte. Unix-Textverarbeitungsprogramme waren die ersten Programme, in denen regul├Ąre Ausdr├╝cke zur Anwendung gekommen sind. Seit den 1980er Jahren existieren verschiedene Syntaxen zum Erstellen von RegEx. Der sogenannte POSIX-Standard und die Perl-Syntax z├Ąhlen zu den am weitesten verbreiteten Syntaxen dieser Art.

RegEx sind heute allgegenw├Ąrtig. Sie werden in Suchmaschinen verwendet, sie suchen und ersetzen Zeichenfolgen in Textverarbeitungen und werden in der lexikalischen Analyse eingesetzt. Viele Programmiersprachen bieten integrierte RegEx-Funktionen oder stellen diese ├╝ber externe Bibliotheken bereit.

Grundlegendes Konzept des regul├Ąren Ausdruck

Ein regul├Ąrer Ausdruck ist ein Muster, das verwendet wird, um eine Reihe von Zeichenfolgen anzugeben, die f├╝r einen bestimmten Zweck ben├Âtigt werden. Die einfache M├Âglichkeit, eine endliche Menge von Strings anzugeben, besteht darin, ihre Elemente aufzulisten. Es gibt jedoch pr├Ązisere M├Âglichkeiten, die gew├╝nschte Menge von Strings zu spezifizieren. Zum Beispiel kann die Menge, welche die drei Zeichenfolgen “Handel”, “H├Ąndel” und “Haendel” enth├Ąlt, durch das Muster H(├Ą|ae?)ndel spezifiziert werden. Wenn es in den meisten Formalismen mindestens einen regul├Ąren Ausdruck gibt, der einer bestimmten Menge entspricht, gibt es eine unendliche Anzahl anderer regul├Ąrer Ausdr├╝cke, die auch dieser entsprechen. Das bedeutet, die Spezifikation ist nicht eindeutig. Die meisten Formalismen bieten daher die folgenden Operationen zum Erstellen regul├Ąrer Ausdr├╝cke.

Zum Beispiel das Boolesche “oder”, einen vertikalen Strich oder Balken “|” zum Trennen von Alternativen, Klammern zur Gruppierung von Zeichen und die sogenannten Quantifizierer *, + und ?, die angeben, wie oft ein vorhergehendes Zeichen auftreten darf. Diese Zeichen und Operatoren k├Ânnen zu beliebig komplexen Ausdr├╝cken kombiniert werden. Zum Beispiel sind, um beim obigen Beispiel zu bleiben, H (ae? | ├ä) ndel und H (a | ae | ├Ą) ndel beides g├╝ltige Muster, die zu den gleichen Strings wie das erste Beispiel H (├Ą | ae?) ndel passen.

Metazeichen und Literalzeichen in RegEx

Ein RegEx wird h├Ąufig verwendet, um die spezifische Standard-Textsyntax zu bezeichnen. Jedes Zeichen in einem regul├Ąren Ausdruck wird als Metazeichen mit seiner speziellen Bedeutung oder als normales Zeichen mit seiner w├Ârtlichen Bedeutung verstanden. Zum Beispiel in der RegEx A.
A ist ein Literalzeichen, das nur ‘A’ ist und der Punkt ‘.’ ist ein Metazeichen, das jedem Zeichen au├čer einem Zeilenumbruch entspricht. Dieser RegEx w├╝rde beispielsweise mit “A” oder “Ax” oder “A0” ├╝bereinstimmen. Zusammen k├Ânnen Metazeichen und Literalzeichen verwendet werden, um Textmaterial eines gegebenen Musters zu identifizieren oder eine Anzahl von Instanzen davon zu verarbeiten.

Die Muster├╝bereinstimmungen k├Ânnen von einer genauen Gleichheit zu einer sehr allgemeinen ├ähnlichkeit, gesteuert durch die Metazeichen, variieren. Beispielsweise ist “, .” ein sehr allgemeines Muster, [a-z] entspricht allen Buchstaben von ‘a’ bis ‘z’ und ist weniger allgemein und a ist ein genaues Muster wegen der ├ťbereinstimmung nur mit ‘a’. Die Metazeichen-Syntax wurde speziell entwickelt, um vorgegebene Ziele in einer pr├Ązisen und flexiblen Weise darzustellen, damit die Automatisierung der Textverarbeitung mit einer Vielzahl von Eingabedaten in einer leicht zu typisierenden Form unter Verwendung einer Standard-ASCII-Tastatur gesteuert werden kann.

Ein sehr einfacher Fall eines regul├Ąren Ausdrucks ist, ein Wort zu finden, das in einem Texteditor auf zwei verschiedene Arten geschrieben wurde (siehe Beispiel oben). Mit den sogenannten Wildcards oder Platzhalterzeichen k├Ânnte dies auch erreicht werden. Wildcards sind aber in ihrem Muster begrenzter. Der ├╝bliche Kontext von Platzhalterzeichen besteht darin, ├Ąhnliche Namen in einer Liste von Dateien zu finden, zum Beispiel alle Personen mit dem Namen Mayer, Meier oder Meyer. RegExes werden normalerweise in Anwendungen verwendet, die allgemein Musterzeichenfolgen anpassen und etwa bestimmte Zeichen l├Âschen sollen. Beispielsweise entspricht die RegEx ^ [ t] + | [ t] + $ ├╝bersch├╝ssigen Leerzeichen am Anfang oder Ende einer Zeile und wird h├Ąufig verwendet.

Tipp

Wenn Sie noch Fragen bez├╝glich eines Online Marketing Themas haben, dann k├Ânnen Sie gerne unseren Glossar besuchen und sich ├╝ber das Thema informieren, wo Sie noch speziell Fragen haben.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte