UE Core- und Enterprise-Abonnements: 10 % Rabatt im zweiten JahrWählen Sie die 2-Jahres-Option und sparen Sie 10 % im zweiten Abonnementjahr.
UE Core enthält UltraEdit + UltraCompare.
UE Enterprise enthält die komplette UltraEdit Suite.
Jetzt kaufen →

Site New Logo

Einführung

Die Verwendung regulärer Ausdrücke ist nach wie vor eine der am meisten unterschätzten Techniken, wenn es um Textmanipulation und Suche geht. Aufgrund ihrer ungewöhnlichen Syntax erscheint sie vielen Einsteigern auf den ersten Blick undurchschaubar (und wir können es ihnen nicht verdenken!).

Mit einer Reihe hilfreicher Tools und einigen Beispielen, um sich mit der Technik vertraut zu machen, wird Regex jedoch viel intuitiver und eröffnet eine Vielzahl von Möglichkeiten zur Textmanipulation. Und genau das wollen wir in diesem Blogbeitrag vermitteln.

Hinweis: Wir beziehen uns auf die UltraEdit Masterclass über Regex für diesen Blog. Sie können diesen Blog parallel zur Aufzeichnung des Webinars lesen.

Warum reguläre Ausdrücke verwenden

Reguläre Ausdrücke bieten Ihnen eine alternative Möglichkeit zum Filtern und Suchen nach bestimmten Zeichenfolgen mithilfe von Mustervergleichen und Textmanipulation. Es handelt sich um ein vielseitiges Werkzeug, mit dem Sie komplexe Suchmuster definieren können, um Zeichenfolgen in Zeichenketten abzugleichen.

Dies ist besonders nützlich, wenn Sie nicht jede Zeichenkette genau definieren möchten, aber wissen, dass sie einem bestimmten Muster oder Format folgen. Zum Beispiel eine E-Mail-Adresse oder eine Telefonnummer, die ein [email protected]bzw. „+09-87654321“ Format.

Zusammenfassend lässt sich sagen, dass reguläre Ausdrücke eine Technik zur Mustersuche darstellen, die hauptsächlich für Folgendes verwendet wird:

  • Validierung der Existenz von Text
  • Validierung des Textformats
  • Suchen und Extrahieren von Text

Diese Flexibilität macht regex ideal für komplexe Suchvorgänge, die über die Möglichkeiten einfacher String-Suchfunktionen hinausgehen. So kann regex beispielsweise Daten wie E-Mail-Adressen validieren, URLs aus Text extrahieren, vorhandenen Text umformatieren oder bestimmte Muster durch neuen Text ersetzen – was sich hervorragend für den Umgang mit Eingabedaten eignet.

Unterschied zwischen Regex und regulärer Stringsuche/Code

Im Vergleich zu normalen Such- und Filteroperationen bietet Regex eine größere Flexibilität und Komplexität, so dass Sie komplizierte Muster mit optionalen Gliedern, Wiederholungen und Zeichenklassen definieren können.

Diese Leistungsfähigkeit geht jedoch mit Abstrichen bei der Leistung und Lesbarkeit einher. Regex kann langsamer sein, insbesondere bei komplexen Mustern und großen Datensätzen, und seine Syntax kann schwer zu verstehen sein.

Während sich Regex am besten für Aufgaben eignet, die einen erweiterten Musterabgleich erfordern, sind normale Such- und Filteroperationen intuitiver und effizienter für einfache, exakte Übereinstimmungen. Der Trick besteht darin, herauszufinden, wo und wie Sie Regex im Vergleich zum Abgleich mit regulären Zeichenketten verwenden sollten.

Protip: Um zu verstehen, was jeder Teil der Regex bewirkt, experimentieren Sie mit einem Regex-Tester.

regexr101 in Ultraedit für regex

Die regex101 Webanwendung. Dieses Tool kann verwendet werden, um Teile einer Regex zu beschreiben.

Beispiel 1: Extrahieren von Daten mit regulären Ausdrücken in Python

In diesem Beispiel verwenden wir sowohl Regex als auch manuellen String-Matching, um Datumsangaben aus einem Satz zu extrahieren.

import re
text = "The event is scheduled for 2023-10-01 and 2023-11-15."
pattern = r"\b\d{4}-\d{2}-\d{2}\b"
dates = re.findall(pattern, text)
print("Dates found:", dates)

Verwendung von regex zum Abgleichen von Textabschnitten nach dem Muster yyyy-mm-dd.


text = "The event is scheduled for 2023-10-01 and 2023-11-15."
  words = text.split()
  dates = []
  
  for word in words:
      if len(word) == 10 and word[4] == '-' and word[7] == '-':
          try:
              year, month, day = map(int, word.split('-'))
              dates.append(word)
          except ValueError:
              continue
  
  print("Dates found:", dates)

Manuelle Stringsuche verwenden. Diese Brute-Force-Methode durchsucht die gesamte Textzeile und prüft, ob sie dem Datumsformat entspricht – nicht die optimalste Lösung, aber sie funktioniert.

 

Beispiel 2: Eingabeüberprüfung (E-Mail) mit regex in Python

In diesem Beispiel verwenden wir sowohl Regex als auch den manuellen String-Abgleich, um eine E-Mail-Adresse zu überprüfen.

import re
  email = "[email protected]"
  pattern = r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
  
  if re.match(pattern, email):
      print("Valid email address")
  else:
      print("Invalid email address")

Dies verwendet eine Regex, um den Benutzernamen und den Domänenteil der E-Mail abzugleichen.

email = "[email protected]"

  if "@" in email and "." in email.split("@")[1]:
  print("Valid email address")
else:
  print("Invalid email address")/code>

Diese Lösung verwendet String-Splitting und if-Anweisungen, um E-Mails zu überprüfen. Bietet eine einfachere Lösung als das letzte Beispiel, da die Struktur der E-Mail-Adressen vorhersehbar ist.

Zusammenfassung:

Beide Beispiele zeigen, wie der Abgleich von Regex und regulären Zeichenketten das gleiche Ergebnis erzielen kann. Es ist jedoch wichtig, dass Sie zunächst prüfen, welche Art von Daten Sie verarbeiten und welche Ausgabe Sie beabsichtigen. Beide Methoden funktionieren, aber die eine kann komplexer sein als die andere.

Das erste Beispiel mit der E-Mail zeigt, wie ein Regex-Ausdruck leicht mehrere Zeilen und String-Operationen ersetzen kann. Andererseits zeigt das zweite Beispiel mit der E-Mail-Validierung, dass reguläre String-Operationen manchmal immer noch weniger komplex und einfacher zu verwenden sind als Regex.

 

Weitere Beispiele für Regex + Webinar-Demo

Hier finden Sie weitere Beispiele, die die Verwendung von Regex veranschaulichen. Es werden reale Dateien und gängige Textformate verwendet, die Ihnen tagtäglich begegnen können. Dies sollte Ihnen ein klareres Bild davon vermitteln, wo Sie regex optimal einsetzen können.

In der folgenden Präsentation wird ein Tool namens UltraEdit (UE) vorgestellt, ein praktischer Texteditor mit integrierter Unterstützung für das Suchen und Ersetzen mit Regex. Es ist ein vielseitiges Tool für Entwickler und kann für die Bearbeitung von Code, das Schreiben von Skripten und die Durchführung komplexer Textmanipulationen mit Regex verwendet werden – insbesondere bei großen Dateien.

Wenn Sie mehr Beispiele für die Verwendung von Regex in der Praxis sehen möchten, empfehlen wir Ihnen das Webinar „UltraEdit Masterclass: The Regex Toolkit You’ll Actually Use“ (Das Regex-Toolkit, das Sie tatsächlich verwenden werden) anzuschauen, das sich mit Perl-kompatiblen regulären Ausdrücken und praktischen Beispielen aus der Praxis beschäftigt.

Wenn Sie diese Beispiele selbst ausprobieren möchten, finden Sie hier die Beispieldateien, die in dem Webinar verwendet wurden. Hier ein Überblick über die Sitzung:

  • Suchen und Ersetzen Operationen
  • Regex Suchen & Ersetzen: Ändern von HTML-Tags
  • Regex Suchen & Ersetzen: Datenformat bereinigen
  • Regex-Skripte: Automatisieren Sie sich wiederholende Aufgaben mit Skripten
  • Praktische Anwendungsfälle: Parsen von Protokollen
  • Praktische Anwendungsfälle: Datenvalidierung
  • Praktische Anwendungsfälle: Textmanipulation
  • Weitere Beispiele mit Perl-style regex

 

Beispiel 3: Datumsangaben und Kontaktnummern aus einem Text mit UltraEdit abrufen

In diesem Beispiel wird eine ähnliche Regex wie in den ersten beiden Beispielen auf einen Textblock angewendet, um zu zeigen, wie flexibel sie mit verschiedenen Arten von Eingabedaten sein kann. Sehen Sie es in Aktion.

Ultraedit regex Beispiel

\d{2}\/\d{2}\/\d{4}

Regex für die Suche nach Datumsangaben im Text

\$?\d{1,3}(?:\d{3})*(?:\,\d{2})?

Regex für den Abgleich von Währungswerten, die speziell als US-Dollar formatiert sind.

Beispiel 4: Entfernen von HTML-Tags, Attributen und Werten (<>,</>) aus Text in UltraEdit

HTML-Tags mit Regex entfernen

<[^>|+>

Einfacher Regex, der verwendet wird, um alle Textstellen zwischen Carets zu ersetzen (z.B. < p> text < p/>), um HTML in einfachen Text umzuwandeln. Der Screenshot zeigt die regex101 Web-App, die als Fenster in den UE-Editor integriert ist.

 

Beispiel 5: Abgleich von .csv-Feldern und Vertauschen ihrer Positionen

Beispiel csv-Datei

For Find: 
^((?:[^,]+?,){1})([^,]+?,)

For replace/swap:  
\2\1

Diese beiden Regexe finden die ersten beiden Felder in einer .csv-Datei und vertauschen ihre Positionen. Verwendet die Regex Suchen und Ersetzen.

Beispiel csv-Datei

Zusammenfassung:

Beispiel 3 zeigt die Anpassungsfähigkeit von regex an verschiedene Eingabetypen, da Sie Datumsangaben und Kontaktnummern unabhängig von der Länge und Struktur des Textes extrahieren können. Beispiel 4 konzentriert sich auf das Entfernen von HTML-Tags, um HTML-Inhalte in einfachen Text zu konvertieren. Und schließlich geht es in Beispiel 5 darum, die Positionen von Feldern in einer CSV-Datei zu finden und zu vertauschen, was die Fähigkeiten von regex bei der Neuformatierung und Organisation von Daten verdeutlicht.

Die letzten drei Beispiele zeigen, wie flexibel Regex-Operationen sein können. Sie zeigen, wie sie, wenn sie richtig eingerichtet sind, durch Blöcke unstrukturierter Daten gehen und genau das finden können, wonach Sie suchen.

Beispiel csv-Datei
Andere gängige Regex-Ausdrücke, die im Webinar vorgestellt wurden.

Andere praktische Tools für den Umgang mit Regex:

 

Fazit

Zusammenfassend lässt sich sagen, dass reguläre Ausdrücke ein mächtiges Werkzeug sind, das Ihre Möglichkeiten zur Manipulation und Analyse von Textdaten erheblich verbessern kann.

Von einfachen Such- und Ersetzungsaufgaben bis hin zu komplexer Datenvalidierung und Parsing – Regex bieten eine vielseitige Lösung für eine Vielzahl von Herausforderungen. Ganz gleich, ob Sie als Entwickler Ihren Code optimieren oder als Datenanalytiker aussagekräftige Erkenntnisse aus Rohdaten gewinnen möchten, die Beherrschung von Regex kann Ihre Produktivität und Effizienz erheblich steigern.

Wenn Sie die Möglichkeiten von regex weiter erforschen, denken Sie daran, dass Übung und Experimentieren der Schlüssel zur vollen Entfaltung seines Potenzials sind. Wenn Sie tiefer eintauchen möchten, sollten Sie sich den Webinar für praktische Beispiele aus der Praxis und Einblicke von Experten. Und für Anfänger: Verpassen Sie nicht den Abschnitt über Verwendung von KI- und LLM-Modellen zur Erstellung von Regexen für Sie!

Und wenn Sie mit Text arbeiten und näher mit Regex experimentieren möchten, erfahren Sie mehr über UltraEdit und nutzen Sie es, um Ihre Produktivität zu steigern.

Laden Sie UltraEdit herunter und testen Sie den vollen Funktionsumfang 30 Tage lang kostenlos.