Wenn Sie anfangen, Skripte und Programme zu schreiben, werden Sie oft vor ähnlichen Aufgaben stehen. Statt mühsam Schleifen und Abfragen zu konstruieren, empfiehlt sich der Einsatz von RegEx. In diesem Artikel zeigen wir, was RegEx konkret kann und welche Einsatzmöglichkeiten es gibt.

→ Webentwicklung lernen [Kostenloser Download]

Ist RegEx eine Programmiersprache?

RegEx ist streng genommen keine Programmiersprache. RegEx sind formale Grammatiken, die als Abkürzungen für Codierungen verwendet werden, um Implementierungen zu erleichtern. Sie sind also nicht komplett mit Python oder JavaScript zu vergleichen, sondern können im Rahmen solcher Sprachen eingesetzt werden.

Wie funktioniert RegEx?

Für RegEx gibt es Syntaxregeln, um ein Muster in einer Zeichenkette zu finden oder zu ersetzen. Das Muster wird mit Literalen, Metazeichen sowie speziellen Ausdrücken definiert und auf eine Zeichenkette angewendet. Wenn es eine Übereinstimmung gibt, wird das Muster genutzt, um Informationen aus der Zeichenkette zu extrahieren oder zu ändern.

Die ausführliche Erklärung: Sie besteht entweder aus regulären Zeichen oder einer Mischung von regulären Zeichen und Metazeichen. Metazeichen beschreiben bestimmte Muster oder Anordnungen von Zeichen wie etwa das genaue Vorkommen eines Zeichens, die Position eines Zeichens am Anfang einer Zeile oder die Häufigkeit eines Zeichens.

Die RegEx-Anwendung führt je nach verwendeten Sonderzeichen entweder zu einer exakten Übereinstimmung oder zu bestimmten Mustern. Wenn eine Übereinstimmung gefunden wurde, können bestimmte Aktionen auf den regulären Ausdruck angewendet werden.

Reguläre Ausdrücke: Dafür braucht man RegEx

RegEx haben viele Anwendungen, zum Beispiel in Texteditoren für Such- und Ersetzungsfunktionen und Syntaxhervorhebung. Im Webdesign helfen sie, Muster in URLs zu finden und zu überprüfen, ob ein Link auf eine bereits bestehende Ressource auf dem Server zeigt.

Programmierer und Programmiererinnen verwenden reguläre Ausdrücke häufig, um Logdateien zu analysieren und Fehler in ihren Anwendungen zu finden. Ähnlich wie Antivirenprogramme, die Systemaktivitätsprotokolle nach Viren durchsuchen, können Programmierende reguläre Ausdrücke verwenden, um Zeit und Ort von Abstürzen in ihrer Software zu identifizieren und Probleme schneller zu lösen.

Regular Expressions werden von Programmierern und Programmiererinnen, aber auch von Entwicklern und Entwicklerinnen eingesetzt, beispielsweise für folgende Praktiken:

  • Überprüfung von Formaten: Reguläre Ausdrücke ermöglichen es, die Korrektheit von Formaten oder Syntax zu überprüfen. So kann etwa die Gültigkeit von E-Mail-Adressen oder Telefonnummern verifiziert werden.
  • Textsuche: RegEx hilft bei der Suche nach bestimmten Mustern in Texten. Durch die Verwendung spezifischer Filter können Texte einfacher nach Stichwörtern durchsucht werden.
  • Überprüfung von Eingaben: RegEx kann genutzt werden, um die Gültigkeit von Benutzereingaben in Webformularen zu untersuchen und so unerwünschte Eingaben zu verhindern.
  • Vereinheitlichung der Sprache: Mit RegEx-Ausdrücken können alle Beteiligten mit den einheitlichen Ausdrücken arbeiten, was die Kommunikation vereinfacht und Missverständnisse vermeidet.
  • Pattern Matching: Texte werden auf das Vorkommen von Mustern geprüft. RegEx gibt das Muster vor und die Engine vergleicht das Muster mit einer Ressource wie einem HTML-Dokument oder einem Text. Quantoren können verwendet werden, um die Ergebnisse einzuschränken. Ein Beispiel ist die Überprüfung einer eingegebenen E-Mail-Adresse auf formale Korrektheit.
  • Globbing: Dateinamen werden mit Platzhaltern ergänzt, um beispielsweise alle Dateien eines bestimmten Formats zu selektieren. Der Platzhalter „Muster*" würde alle Dateien selektieren, die mit „Muster" beginnen, aber ein anderes Format haben, etwa .txt. oder .doc. Globbing wird auch bei Denial-of-Service-Attacken verwendet.
  • Trunkierung: Suchbegriffe werden mithilfe von Platzhaltern abgekürzt oder abgeschnitten, um den Suchraum zu vergrößern. In einer Bibliotheksrecherche könnten alle Einträge gefunden werden, die einen bestimmten Suchbegriff enthalten.
  • Stemming: Verschiedene morphologische Varianten eines Wortes werden auf den Wortstamm zurückgeführt. Google verwendet vermutlich ein ähnliches Verfahren bei der organischen Suche.

Reguläre Ausdrücke: Liste mit Regeln

Reguläre Ausdrücke werden in verschiedenen Sprachen – beispielsweise für die Programmierung und Auszeichnung – verwendet und haben unterschiedliche Funktionen. Dazu zählen HTML, JavaScript, Perl, Python, Ruby oder XML. Obwohl sich die Verwendung und Funktion von Sprache zu Sprache unterscheiden kann, bleibt die Syntax regulärer Ausdrücke weitgehend unverändert. Ein RegEx besteht, unabhängig von der Programmier- und Auszeichnungssprache, aus den folgenden Komponenten:

Element

Beschreibung

Pattern

Ein RegEx-Suchmuster, der sowohl aus normalen Zeichen als auch aus einer Mischung aus regulären Zeichen und Metazeichen besteht.

Delimiter

Bei der Erstellung eines regulären Ausdrucks wird das Muster normalerweise von einem Delimiter umschlossen, der das Anfangs- und Endzeichen des Musters angibt, meist Anführungszeichen oder Schrägstriche.

Modifier

Ein Suchmuster kann durch optionale Modifikatoren ergänzt werden.

Die folgenden Sonderzeichen erweitern typischerweise die Möglichkeiten von Patterns durch Syntaxänderungen:

Syntax

Bedeutung

[]

Eine Zeichenklasse im Suchmuster, die ein einzelnes Zeichen repräsentiert.

()

Ein oder mehrere Zeichen, die miteinander verbunden werden können.

-

Gibt einen Bereich zwischen zwei normalen Zeichen an.

$

Suche auf Zeilenende beschränken.

.

Beliebiges Zeichen.

*

Die Anzahl der Zeichen, Klassen oder Gruppen vor einem Stern ist beliebig (einschließlich Null).

+

Mindestens das Zeichen, die Klasse oder die Gruppe kommt einmal vor.

?

Eine Zeichenklasse, eine Gruppe oder ein Zeichen vor einem Fragezeichen kann optional sein und höchstens einmal vorkommen.

|

Bezeichnet zwei oder mehr Alternativen.

{n}

Das vorangestellte Zeichen oder die vorangestellte Klasse oder Gruppe kommt genau n-mal vor.

{n,m}

Die vorangestellte Zeichenklasse oder -gruppe kommt n- bis m-mal vor.

\b

Damit werden Wortgrenzen bei der Suche berücksichtigt.

\B

Damit werden Wortgrenzen bei der Suche nicht berücksichtigt.

\d

Beliebige Zahl; Abkürzung für die Zeichenklasse [0-9].

Reguläre Ausdrücke: Beispiele

Im Folgenden finden Sie Beispiele für die Verwendung und den Aufbau einfacher regulärer Ausdrücke.

Funktion

Bedeutung

Regulärer Ausdruck

RegEx mit einem Element

Die einfachste Form eines RegEx.

[6-9]

RegEx mit mehreren Elementen

Zwei entsprechende Zeichenklassen können hintereinander gestellt werden, um etwa zwei Elemente zu erfassen, für die unterschiedliche Ergebnisse denkbar sind.

[6-9][c-f]

RegEx mit wählbaren Elementen

Bei der Suche nach mehreren Elementen in einem regulären Ausdruck können bestimmte Elemente unter bestimmten Bedingungen enthalten sein, zum Beispiel bei der Suche nach Hausnummern mit unterschiedlichen Ziffern und Buchstaben.

[1-9][0-9]?[0-9]?[a-z]?

RegEx mit beliebigen Wiederholungen

In manchen Fällen kann die Anzahl der Zeichen im RegEx nicht genau festgelegt werden.

[6-9]*

Zeichenklasse im RegEx negieren

Um bestimmte Zeichen als Treffer in regulären Ausdrücken auszuschließen, die normalerweise für ein oder mehrere beliebige Zeichen stehen, verwenden Sie den Negator „^".

[^M]ut

Im Gegensatz zum Wort „Mut” bietet „Wut” die erforderliche Übereinstimmung.

RegEx mit Platzhaltern

RegEx verwendet Platzhalter mit unterschiedlichen Bedeutungen.

Miriam .*Musterfrau

RegEx mit Alternativen

Ausdrücke, die alternative Treffer enthalten.

Der Kaffee ist (wunderbar|nicht trinkbar)

RegEx mit Gruppen

Durch das Einklammern von Zeichen oder Zeichenketten in runde Klammern können Gruppen in regulären Ausdrücken gebildet werden, die als ein Muster behandelt werden.

cd(ef)+

RegEx mit Verschachtelungen

Verschachtelte Gruppen drücken vielschichtige Beziehungen zwischen Zeichen und Sonderzeichen aus.

(Espresso (Doppio|Tonic)|Caffe (Latte|Mocha))

Regular Expression: Praktische Onlinetools

Mithilfe der folgenden Programme testen Sie Ihre eigenen RegEx-Anweisungen, um sie bei Bedarf anzupassen:

  • Auf RegExR geben Sie reguläre Ausdrücke in einer interaktiven Umgebung ein und wählen verschiedene Optionen und Modifikatoren, um ihr Verhalten zu steuern. Sie können Text in das Tool eingeben und sehen, welche Teile des Textes durch den regulären Ausdruck abgedeckt werden.
  • Mit RegEx101 erstellen, testen und debuggen Sie reguläre Ausdrücke. Die Website bietet eine interaktive Umgebung – einfach RegEx eingeben und verschiedene Optionen und Modifikatoren auswählen, um das Verhalten zu steuern!
  • Auch auf RegEx Testing können Sie reguläre Ausdrücke kreieren, prüfen und bei Bedarf debuggen. Die Website bietet ähnliche Funktionen wie andere RegEx-Online-Tools, verfügt aber über einzigartige Funktionen wie RegEx-Tests und eine Bibliothek.

Fazit: RegEx bietet Ihnen zahlreiche Anwendungsmöglichkeiten

RegEx kommen in fast allen Programmiersprachen und jedem Texteditor zum Einsatz, um die Suche und Verarbeitung von Texten zu automatisieren. Mithilfe regulärer Ausdrücke können Sie auch komplexe Suchmuster definieren, um gezielt nach bestimmten Textstellen zu suchen. Es empfiehlt sich daher, sich mit der Syntax und den Anwendungsmöglichkeiten von RegEx vertraut zu machen, um effizienter mit Texten zu arbeiten.

Kostenloser Download: Webentwicklung lernen

 Kostenloser Download: Webentwicklung lernen

Titelbild: Moyo Studio / iStock / Getty Images Plus

Ursprünglich veröffentlicht am May 31, 2023 2:00:00 AM, aktualisiert am Mai 31 2023

Themen:

Webentwicklung