• pexels-markus-spiske-2004161.
        • Software Solutions

          Wir helfen Ihnen bei der Auswahl 
          der richtigen Lösungen, um die 
          Kraft Ihrer Daten freizusetzen.
        • Tableau
        • Das weltweit leistungsstärkste Tool zur Datenvisualisierung und -analyse.

        • Alteryx
        • Die führende Plattform in der
          dynamischen Welt der Analytic
          Process Automation.

        • Amazon Web Services (AWS)
        • Führend bei Cloud-First-Datenlösungen.

        • Snowflake
        • Für Cloud-basierte Data-Warehouse-Lösungen der nächsten Stufe.

        • Celonis
        • Process Mining aus Deutschland. Verschaffen Sie sich ein objektives und datengetriebenes Bild Ihrer internen Prozesse. Ganz im Sinne der optimierten  Wertschöpfung.

  • The Data School
  • News
  • Data Events
        • LockScreen.
        • Über Uns

          Lernen Sie The Information Lab kennen, unser Team, unsere Kunden und erfahren Sie, wie auch Sie ein Teil davon werden können.

          Mehr erfahren

        • Use Cases
        • Wir bieten seit Jahren Datenlösungen für Unternehmen. Und so wie hinter allen Daten eine Geschichte steckt, steckt auch hinter jedem unserer Projekte eine Geschichte.

        • Centre of Excellence
        • Geteiltes Wissen ist Macht – vernetzen Sie sich mit unserer wachsenden Zahl von Beratern und Kunden in ganz Europa. Zusammenarbeit ist der beste Weg zu lernen.

        • Internationales Setup
        • The Information Lab ist an 8 europäischen Standorten mit über 300 Consultants aktiv. Unsere Data School gibt es bereits in London, Sydney und Hamburg.

        • Kunden
        • Wir unterstützen seit 2014 namhafte Unternehmen in der DACH-Region und im deutschen Mittelstand.

        • Team
        • Lernen Sie die Menschen hinter The Information Lab kennen.

        • Karriere
        • Join our team! Wir wachsen stetig und suchen insbesondere im Consulting und unserer Data School stets tolle Kollegen und Kolleginnen.

Banner background image - news

Was bedeuten die Begriffe „faul“ und „gierig“ im Zusammenhang mit dem regulären Ausdruck?

Wir waren im Voraus darüber informiert worden, dass wir heute den Anfang eines recht komplizierten Themas lernen würden, nämlich reguläre Ausdrücke – eine Folge von Zeichen, die ein Suchmuster in einem Text festlegen. Die Musterregel von regex ist für das spätere Web Scraping von großer Bedeutung. Um ehrlich zu sein, war ich zunächst ziemlich schockiert, als ich eine lange, chaotische Folge von Sonderzeichen sah, die als Wildcards oder Steroide bezeichnet werden. Sie sind wahrscheinlich mit Wildcard-Notationen wie *.csv vertraut. Eine der häufigsten Verwendungen von Regex ist die Extraktion von Wörtern wie Text oder E-Mail-Adressen. Im Hinblick auf die enormen Anwendungsmöglichkeiten von Regex soll dieser Blog nur eine winzige Spitze des Eisbergs 😊, des faulen und gierigen Konzepts im Zusammenhang mit regulären Ausdrücken knacken.

In der Grundlektion werden Ihnen die folgenden Zeichen begegnen:

content image

.* ist gierig, d.h. das nächste Begrenzungszeichen Ihrer Regex wird ignoriert, bis es selbst nicht erfüllt ist, es sei denn, die auf .* folgende Regex steht gegen das Ende der Zielzeichenkette.

.*? ist „ungreedy“, d.h. es fährt mit dem nächsten Begrenzungszeichen Ihrer Regex fort, wenn das nächste erfüllt ist. Er fährt mit dem nächsten Begrenzungszeichen fort, auch wenn er selbst noch anwendbar ist.

Lassen Sie uns mit einem Beispiel beginnen:

/(.*) dog/ passt zu Ich glaube, dein Hund hat meinen Hund gebissen und Gruppe 1 ist Ich glaube, dein Hund hat meinen Hund gebissen.

/(.*?) dog/ entspricht I think your dog bites my dog und Gruppe 1 ist I think your“.

Das ? macht das + „faul“ anstelle von „gierig“. Das bedeutet, dass es versucht, so wenige Übereinstimmungen wie möglich zu finden, anstatt so viele wie möglich.

Um die Dinge zu verdeutlichen, wollen wir die Suche Schritt für Schritt an einem anderen Beispiel nachvollziehen. Der Regex-Ausdruck /“.+?“/g funktioniert wie vorgesehen: Er findet „dein“ und „mein“:

  1. Der erste Schritt besteht darin, das Muster zu finden, das mit ‚ “ ‚:
content image

2. Der nächste Schritt ist ebenfalls ähnlich: Die Maschine findet eine Übereinstimmung für den Punkt ‚.‘:

content image

3. Und jetzt läuft die Suche anders. Da wir einen faulen Modus für +? haben, versucht die Maschine nicht, einen Punkt ein weiteres Mal zu finden, sondern hält an und versucht, den Rest des Musters ‚“‚ sofort zu finden:

content image

4. Dann erhöht die Engine für reguläre Ausdrücke die Anzahl der Wiederholungen für den Punkt und versucht es ein weiteres Mal:

content image

Erneutes Scheitern. Dann wird die Anzahl der Wiederholungen wieder und wieder erhöht…

5. …bis die Übereinstimmung mit dem Rest des Musters gefunden ist:

content image

6.    Die nächste Suche beginnt am Ende des aktuellen Treffers und liefert ein weiteres Ergebnis:

content image

Wenn der Ausdruck wie /“.+“/ lauten würde, was „gierig“ bedeutet. Die Ergebnisübereinstimmung wäre „dein“ Hund biss „mein“

Das ist doch ein gutes Stück, das man am Freitag lernen kann, oder?

 

ZUR DATA SCHOOL