Technologische Neuigkeiten, Bewertungen und Tipps!

Die Grundlagen – Auf dem Weg zur KI

Hinweis: Der folgende Artikel hilft Ihnen dabei: Die Grundlagen – Auf dem Weg zur KI

Ursprünglich veröffentlicht auf Towards AI, dem weltweit führenden Nachrichten- und Medienunternehmen für KI und Technologie. Wenn Sie ein KI-bezogenes Produkt oder eine KI-bezogene Dienstleistung entwickeln, laden wir Sie ein, darüber nachzudenken, KI-Sponsor zu werden. Bei Towards AI helfen wir bei der Skalierung von KI- und Technologie-Startups. Wir helfen Ihnen dabei, Ihre Technologie der breiten Masse zugänglich zu machen.

Regulärer Ausdruck (RegEx) in Python: Die Grundlagen

Beherrschen Sie die Grundlagen von RegEx in Python

Stellen Sie sich vor, Sie verfügen über viele Textdaten und möchten aussagekräftige Informationen extrahieren. Beispielsweise möchten Sie möglicherweise Hashtags, @Erwähnungen, URLs usw. aus beliebigen Tweets extrahieren. Wie geht das am besten? Sie haben es richtig verstanden – es geht darum, einen regulären Ausdruck oder eine Regex zu verwenden. Der reguläre Ausdruck ist eine Folge von Zeichen, die ein Muster bilden, das zum Text passt. Wir können ein Muster für Hashtags definieren und es kann verwendet werden, um alle Hashtags in den angegebenen Tweets abzugleichen.

Allerdings ist die Regex-Implementierung in den verschiedenen Programmiersprachen größtenteils ähnlich, es kann geringfügige Unterschiede geben. In dieser Geschichte lernen Sie, Regex in Python zu verwenden. Diese Geschichte behandelt die Grundlagen von Regex. Ich werde eine weitere Geschichte für fortgeschrittene Regex schreiben.

RegEx in Python

Python verfügt über ein spezielles Paket namens „re“ für die Arbeit mit Regex. Klicken Sie hier, um die Dokumentation zu lesen. Es verfügt über verschiedene Funktionen wie .search(), .split(), .findall(), .sub() usw. Ich werde die Verwendung der Funktion findall() zeigen, um mithilfe der Regex alle gewünschten Informationen aus dem Text zu finden Muster.

Sie fragen sich vielleicht, was das kleine Zeichen „r“ vor dem Regex-Muster bedeutet und wie wir verschiedene Muster generieren können. Lassen Sie uns darauf eingehen!

Roher String in Python

Bevor Sie sich eingehend mit der Regex befassen, ist es wichtig zu verstehen, was ein Rohstring ist. Python verfügt über Sonderzeichen wie Zeilenumbruchzeichen (\n), Tabulatorzeichen (\t) usw. in Zeichenfolgen. Was ist, wenn \n ein Teil der Zeichenfolge sein muss, anstatt speziell behandelt zu werden? In diesem Fall sollten wir Rohstrings verwenden. Das folgende Beispiel veranschaulicht den Unterschied zwischen normalen und unformatierten Zeichenfolgen. Es wird empfohlen, Rohzeichenfolgen für Regex-Muster zu verwenden, um zu vermeiden, dass der Python-Interpreter die Zeichenfolgen unerwartet behandelt.

Zusammenfassung typischer Regex-Metazeichen

Metazeichen sind Zeichen mit besonderer Bedeutung im Regex-Muster. Beispielsweise stellt das Metazeichen \d eine Ziffer von 0 bis 9 dar. Die folgende Tabelle fasst die grundlegenden Metazeichen zusammen, die in Regex verwendet werden.

1. Wörtliche Übereinstimmung

Wenn keine Metazeichen vorhanden sind, können Sie eine exakte Übereinstimmung erhalten.

2. Ordnen Sie eine Ziffer mit \d zu

\d steht für eine beliebige Ziffer von 0 bis 9.

3. Finden Sie mit \D eine Übereinstimmung mit einer Nicht-Ziffer

\D entspricht jedem einzelnen nichtstelligen Zeichen.

4. Ordnen Sie mit \w ein Wortzeichen zu

\w entspricht jedem einzelnen Wortzeichen. Es kann alles von A bis Z, a bis z, Zahlen von 0 bis 9 und einen Unterstrich (_) enthalten.

5. Finden Sie mithilfe von \W ein Zeichen, das kein Wort ist

Zu den Nicht-Wortzeichen zählen alle Zeichen außer den oben genannten Wortzeichen.

6. Passen Sie Leerzeichen an \s an

\s ermöglicht die Übereinstimmung einzelner Leerzeichen.

7. Ordnen Sie einem Nicht-Leerzeichen \S zu

\S kann verwendet werden, um einzelne Zeichen, die keine Leerzeichen sind, abzugleichen.

Quantifizierer in Regex

Extrahieren wir zunächst eine Telefonnummer aus dem Text.

Da \d mit einer einzelnen Ziffer übereinstimmt, müssen wir es zehnmal schreiben, um eine zehnstellige Zahl zu extrahieren. Aber warten Sie – es sieht nicht schön aus. Hier ist die Lösung: Verwenden Sie Quantifizierer für Zeichen im Muster.

1. Passen Sie ein oder mehrere Male mit + an

Das + stimmt überein eins oder mehr Vorkommnisse seines vorhergehenden Charakters. \d+ bedeutet also, dass ein oder mehrere Vorkommen einer Ziffer übereinstimmen.

Ebenso können Sie übereinstimmen null oder mehr Vorkommen des vorangehenden Zeichens mit *. \w* bedeutet also, null oder mehr Vorkommen eines Wortzeichens zu finden.

2. Passen Sie genau n Vorkommen mit {n} an

Das {n} stimmt mit genau n Vorkommen seines vorhergehenden Zeichens im Muster überein. So

Weitere Variationen:

  • {n,m} —Entspricht mindestens n und höchstens m Mal dem vorhergehenden Zeichen, z. B. \d{2, 4} stimmt mindestens zweimal und höchstens 4 Mal mit einer Ziffer überein.
  • {N,} –Entspricht dem vorhergehenden Zeichen mindestens n-mal und es gibt keine Obergrenze. Beispielsweise stimmt \w{4,} mindestens viermal mit einem Wortzeichen überein, ohne Obergrenze.
  • {,M} –Entspricht dem vorhergehenden Zeichen von null bis m-mal, z. B. \D{,4} passt höchstens viermal zu jedem nicht-stelligen Zeichen, kann aber auch nullmal sein.

3. Null oder einmalig verwenden?

Der ? stimmt null oder einmal mit dem vorhergehenden Zeichen überein. Zum Beispiel Katzen? passt sowohl zu Katzen als auch zu Katzen.

Note— Alle diese Quantoren werden auf ihre vorhergehenden Zeichen angewendet, nicht auf das gesamte Wort, z. B. in Mango+ Muster, das + gilt nur für das letzte Zeichen Oh, nicht das Wort Mango.

Aber was ist, wenn Sie Sonderzeichen wie \,*, +, zuordnen möchten? usw. Da es sich um Sonderzeichen handelt, können Sie sie nicht direkt zuordnen, wie unten gezeigt:

Die Lösung besteht darin, das Escape-Zeichen \ vor dem zu vergleichenden Sonderzeichen zu verwenden, z. B. verwenden Sie \+ im regulären Ausdruck, um + zu finden. Ebenso können Sie \\ im Muster verwenden, um mit \ im Text übereinzustimmen.

Vielen Dank, dass Sie bis hierhin gelesen haben. Ich habe jetzt einen Bonus für dich.

Bonus

Es gibt eine wirklich coole Website https://regex101.com/, auf der Sie Ihr Regex-Muster testen können. Es unterstützt auch verschiedene Programmiersprachen. Schauen Sie sich die Seite an und haben Sie Spaß mit Regex.

Vielen Dank, dass Sie meine allererste Geschichte auf Medium gelesen haben. Ich freue mich über Ihr Feedback und kann Ihre Fragen gerne in den Kommentaren posten. Folgen Sie mir auf Medium, wenn Sie mehr Geschichten wie diese möchten.


Regular Expression (RegEx) in Python: The Basics wurde ursprünglich in Towards AI auf Medium veröffentlicht, wo die Leute die Konversation fortsetzen, indem sie diese Geschichte hervorheben und darauf antworten.

Veröffentlicht über Towards AI