Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Abschreckendes Regex-Beispiel, das später in einem Text-Bsp vorkommen soll

Was hat x mit y zu tun?

Reguläre Ausdrücke mögen zunächst abschrecken, doch das Einarbeiten lohnt sich, zumal sie nicht nur ein systematisches sondern bald auch ein zeitsparendes Durchsuchen von Textdaten erlauben.  

Sie erweisen sich als überaus nützlich, will man ein bestimmtes Muster im Text finden, ohne zu wissen, wie dieses durch Zeichen und Zeichenketten besetzt wird. Mit anderen Worten: Reguläre Ausdrücke werden herangezogenverwendet, wenn man eine ungefähre Vorstellung davon hat, was es in vorliegenden Daten einer Datei zu finden giltgibt, ohne genau zu wissen, wie das Gesuchte im Detail auszusehen hat.

Werkzeug zum Auffinden ... dar.

Bevor der Einsatz regulärer Ausdrücke näher erläutert wird, zunächst eine kleine Übung: Welche formalen Eigenschaften haben Datensatz A und Datensatz B in Abgrenzung zu Datensatz C gemeinsam?

 Datensatz ADatensatz BDatensatz C
1)GA1
2)ABa
3)aubavbcud
4)abc 1abd 1abe1
5)Der Hund schläft im Haus.Niemand war im Haus.Im Haus war niemand.
6)ABC DEF GHI.JKL MNO GH1.QRS TUV WXY.

Die Gemeinsamkeiten in 1 und 2 sind schnell erklärt. Während es sich in 1) bei Datensatz A (G) und Datensatz B (A) um Buchstaben handelt, besteht Datensatz C aus einer Ziffer (1).
Im zweiten Beispiel liegt der Unterschied zwischen den Datensätzen A (A) und B (B) auf der einen und C (a) auf der anderen Seite in der Groß- und Kleinschreibung der Buchstaben.
Ein wenig komplizierter wird es in den Beispielen 3) und 4). Hier spielt neben dem Zeichentypus auch die Abfolge der Zeichen ebenfalls eine Rolle. In 3)

 

1Definition

Standard

Regular Expressions

Regex

Beschreiben von Zeichenketten anhand einer speziellen Syntax

Definition von Mustern

 

2. Einfache Regex: Platzhalter, Positionen

Problemstellung, Bsp

Platzhalter etc.

Was sind Metazeichen, was nicht? Was, wenn Zeichen beschrieben werden sollen, die gleichzeitig Metazeichen sind?

Im Internet lässt sich eine Reihe an Seiten finden, auf denen reguläre Ausdrücke ausprobiert werden können.

http://www.regexr.com/

aussieht. Doch wie hat man sich so etwas vorzustellen? Wie lassen sich Zeichen und Zeichenfolgen umschreiben? Welche Kriterien können herangezogen werden, um Zeichen und abstrakte Muster zu beschreiben? Und wie lassen sich sich aus konkreten Textdaten überhaupt Muster abstrahieren und mithilfe regulärer Ausdrücke formalisieren?

Zu abstrakt? Fangen wir klein an: Das wohl hilfreichste Metazeichen ( = Zeichen, die nicht für sich selbst stehen, sondern bestimmte Funktionen erfüllen/ Prozesse beschreiben) ist der Punkt (".") und dient als Platzhalter für ein beliebiges Zeichen. Um also nicht nach ragazza/ ragazze einzeln suchen zu müssen, kann mithilfe der regulären Ausdrücke alternativ der Suchausdruck ragazz. verwendet werden. Weitere reguläre Ausdrücke sind Positionsmarker, wie "^", welches markiert, dass das entsprechende Wort am Zeilenanfang stehen muss (z.B. ^ragazza), und Wiederholungsoperatoren, z.B. "*", der in etwa aussagt: "Wiederhole das vorausgehende (Meta-)Zeichen beliebig oft" (wie auch in: Wo*w, ich versteh's = "Wow, ich versteh's", "Wooow, ich versteh's", "Wooooooooow, ich versteh's") .

Alles, was man nach diesen einleitenden Informationen für den Start braucht, sind ein Regex-fähiger Texteditor und das vorliegende Manual. Texteditoren existieren viele, zum Beispiel TextWrangler (MAC), jEdit oder das häufig vorinstallierte Notepad++. Wir empfehlen Textpad in der neusten Version (aktuell 7.5.1) (in den älteren Versionen funktionieren einige reguläre Ausdrücke nicht, andere werden komplizierter ausgedrückt). Textpad gibt es als Testversion gratis. 

Und ein wichtiger Hinweis am Schluss: Am besten nicht verzweifeln!! Unterschiedliche Texteditoren funktionieren nicht immer mit denselben regulären Ausdrücken, teilweise nicht einmal die verschiedenen Versionen desselben Editors. Aus diesem Grund präsentieren wir, wo möglich, Alternativen zu nicht universell gebrauchten Ausdrücken. Und auch das wird das Problem nicht immer lösen. Im Worst Case Scenario können ein paar Backslashes mehr oder weniger helfen, aber mehr dazu später. Mit der Erfahrung wächst die Fähigkeit, Fehler zu lokalisieren und sie einem anderen zugrundeliegenden Standard anzulasten. Deshalb: Am besten nicht verzweifeln...

Anzeige untergeordneter Seiten

Powerpoint-Präsentation zur Einführunghttps://regex101.com/