Regular Expressions: Syntax enträtselt

Regular Expressions (RE) werden fälschlicherweise oft für geheimnisvolle Unbekannte gehalten, die nur ein wahrer Guru verstehen kann. Sicher, sie sehen nicht besonders lesbar aus, und wenn man mit ihrer Syntax nicht vertraut ist, wirken sie wie kryptischer Datenmüll aus einem Core-Dump. In Wirklichkeit sind Regular Expressions ganz einfach und mit einem kleinen Spickzettel recht leicht zu erstellen.

Ein kurzer Blick zurück

Regular Expressions wurden das erste Mal 1956 von dem Mathematiker Stephen Kleene eingeführt, als Ergebnis seiner Arbeit zu rekursiven Strukturen in natürlichen Sprachen. Entstanden sind sie als Set von Syntaxregeln für die Suche nach übereinstimmenden Mustern in Zeichenfolgen. Später half Kleene bei deren Adaption an die neue Informationstechnologie, um die Automation zu ermöglichen. Seit jener Zeit haben Regular Expressions eine Reihe von Veränderungen durchgemacht. Der derzeitige Standard wird von der ISO (International Standards Organization) gehütet, festgelegt wird er von The Open Group, einem Zusammenschluss unterschiedlicher Non-Profit-Organisationen aus dem technischen Bereich.

Regular Expressions stellen für sich genommen keine eigenständige Programmiersprache dar, sondern sind ein klar definierter Standard für das Suchen und Ersetzen von Text innerhalb einer Datei oder jeder beliebigen Zeichenfolge. Es gibt zwei Standards: Basic Regular Expressions (BRE) und Extended Regular Expressions (ERE). ERE umfasst alle Funktionen von BRE plus zusätzlicher Konzepte.

Viele Anwendungen unterstützen Regular Expressions, u.a. xsh, egrep, sed und vi auf UNIX-Platfformen, und sie sind in der einen oder anderen Form in die meisten Programmiersprachen aufgenommen worden. So wie HTML und XML nur Teilmengen von SGML sind, stellen diese Adaptationen oft eine Teilmenge des gesamten Standards dar.

Verbreiteter, als man denkt

Dank der Aufnahme von Regular Expressions in Plattform-übergreifende Programmiersprachen wird ihre Leistungsfähigkeit häufiger eingesetzt, als man vermuten mag. Internet-Suchmaschinen nutzen sie ebenso wie E-Mail-Programme, wo sie zu bestimmen ermöglichen, welche Nachrichten im Posteingang landen sollen. Auch wenn Sie kein UNIX-Programmierer sind, können Sie Regular Expressions einsetzen, um Ihre Anwendungen zu vereinfachen und eine Menge Zeit für das Parsen von Arrays und das Jonglieren mit Variablen zu sparen.

1 x 1 der Regular Expressions

Ein Großteil der Syntax von Regular Expressions sollte Ihnen bekannt vorkommen, denn wahrscheinlich haben Sie sie bereits benutzt, auch wenn Sie nicht wussten, womit Sie es zu tun hatten. Platzhalterzeichen (Wildcards) sind ein RE-Konstrukt, nämlich Wiederholungs-Operatoren. Wir werden uns nun einige der grundlegenden Syntaxregeln für den am häufigsten genutzten Teil des ERE-Standards anschauen. Um die Beispiele alltagsnah zu halten, habe ich unterschiedliche Anwendungen benutzt.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Microsoft nennt weitere Details zu kostenpflichtigen Patches für Windows 10

Erstmals liegen Preise für Verbraucher vor. Sie zahlen weniger als Geschäftskunden. Dafür beschränkt Microsoft den…

2 Stunden ago

Microsoft verschiebt erneut Copilot Recall

Die Entwickler arbeiten noch an weiteren „Verfeinerungen“. Windows Insider erhalten nun wohl eine erste Vorschau…

20 Stunden ago

GenKI im Job: Mitarbeitende schaffen Tatsachen

Laut Bitkom-Umfrage werden in jedem dritten Unternehmen in Deutschland private KI-Zugänge genutzt. Tendenz steigend.

22 Stunden ago

97 Prozent der Großunternehmen melden Cyber-Vorfälle

2023 erlitten neun von zehn Unternehmen in der DACH-Region Umsatzverluste und Kurseinbrüche in Folge von…

22 Stunden ago

„Pacific Rim“-Report: riesiges, gegnerisches Angriffs-Ökosystem

Der Report „Pacific Rim“ von Sophos beschreibt Katz-und-Maus-Spiel aus Angriffs- und Verteidigungsoperationen mit staatlich unterstützten…

1 Tag ago

DeepL setzt erstmals auf NVIDIA DGX SuperPOD mit DGX GB200-Systemen

NVIDIA DGX SuperPOD soll voraussichtlich Mitte 2025 in Betrieb genommen und für Forschungsberechnungen genutzt werden.

1 Tag ago