Reguläre Ausdrücke in Python: ein Anfängerleitfaden

Inhalt

Dieser Beitrag wurde im Rahmen der . veröffentlicht Data Science Blogathon

Reguläre Ausdrücke, auch anerkannt als “regex” Ö “regexp”, werden verwendet, um Textzeichenfolgen abzugleichen, als Charaktere, bestimmte Wörter oder Zeichenmuster. Das bedeutet, dass wir mit Hilfe von regulären Ausdrücken beliebige Zeichenfolgenmuster aus dem Text abgleichen und extrahieren können. Ich habe zwei Begriffe verwendet, Spiel Ja Extrakt Ja beide Begriffe haben eine etwas andere Bedeutung. Es kann Fälle geben, in denen wir ein bestimmtes Muster abgleichen möchten, aber eine Teilmenge davon extrahieren. Als Beispiel, wir wollen die Namen von PhD-Stipendiaten aus einer Liste von Personen in einer Organisation extrahieren.

Für diesen Fall, Wir werden es tun Spiel la Stichwort “Dr. XYZ” Ja Extrakt nur der name, Mit anderen Worten, “XYZ”, nicht das Präfix “DR.” der Liste. Regex ist sehr nützlich, um in Texten zu suchen, große E-Mails und Dokumente. Regex wird auch genannt “Programmiersprache für String-Matching”. Vor dem Eintauchen in Regex und seine Implementierung in Python, Es ist wichtig, seine Anwendungen in der realen Welt zu kennen.

Anwendungen

Formularvalidierung

Die häufigste Verwendung von regulären Ausdrücken ist die Formularvalidierung, Mit anderen Worten, E-Mail-Validierung, Passwortvalidierung, Telefonnummernvalidierung und viele andere Formularfelder.

Bankkonto Daten

Sie müssen bemerkt haben, dass jede Bank für ihre verschiedenen Filialen einen IFSC-Code hat, der mit dem Namen der Bank beginnt. Die Kreditkartennummer besteht aus 16 Ziffern und die ersten Ziffern geben an, ob die Karte Master ist, Visum oder Rupay. In all diesen Fällen, Regex wird verwendet.

Datenverarbeitung

Wie können wir die Bedeutung von Regex im Data Mining vergessen?? Wenn Daten in unstrukturierter Form vorliegen, Mit anderen Worten, in Textform, es ist notwendig, sie in Zahlen umzuwandeln, um das Modell zu trainieren. Deswegen, regulärer Ausdruck spielt eine wichtige Rolle bei der Datenanalyse, Muster in den Daten finden und, schließlich, Operationen mit dem Datensatz ausführen.

PNL

NLP ist ein Verfahren, durch das ein Computer die menschliche Sprache versteht und generiert. und NLP, reguläre Ausdrücke werden verwendet, um unnötige Wörter zu löschen, Mit anderen Worten, Stoppen Sie Textwörter, was hilft die Daten zu bereinigen. Regex wird auch verwendet, um Texte zu analysieren und, deshalb, hilft bei der Vorhersage des Algorithmus zur Verarbeitung der Daten.

Social-Media-Plattformen

Social-Media-Plattformen wie Google, Facebook, Twitter bietet verschiedene Suchtechniken, die sich von einer normalen Suche unterscheiden und effizient sind. Creme, wenn du diese Techniken kennst, kann noch viel mehr erkunden. Alle diese Techniker verwenden reguläre Ausdrücke im Backend, um diese Suchen zu verarbeiten.

Sie können an andere Regex-Apps denken, wenn ein Mustervergleich erforderlich ist.

Wildcard-Muster

Die kleinsten einzelnen Einheiten, die mit Hilfe der regulären Ausdrücke gebildet werden, werden als Wildcard-Muster bezeichnet.. Die Liste der am häufigsten verwendeten Muster sind

^

Dieser Platzhalter entspricht den Zeichen am Anfang einer Zeile.

PS

Dieser Platzhalter entspricht den Zeichen am Ende der Zeile.

.

Dieser Platzhalter entspricht jedem Zeichen in der Zeile.

S

Dieser Platzhalter wird verwendet, um das Leerzeichen in einer Zeichenfolge abzugleichen.

S

Dieser Platzhalter entspricht Zeichen, die keine Leerzeichen sind.

D

Dieser Platzhalter entspricht einer Ziffer.

*

Dieser Platzhalter wiederholt jedes vorherige Zeichen null oder öfter. Entspricht der längsten zulässigen Zeichenfolge.

*?

Dieser Platzhalter wiederholt auch alle vorherigen Zeichen null oder mehrmals. Trotz dieses, Übereinstimmung mit der kürzeren Zeichenfolge nach dem Muster.

+

Dieser Platzhalter wiederholt jedes vorherige Zeichen ein- oder mehrmals. Entspricht der längsten zulässigen Zeichenfolge nach dem Muster.

+?

Dieser Platzhalter wiederholt jedes vorherige Zeichen ein- oder mehrmals. Trotz dieses, entspricht der kürzesten möglichen Zeichenfolge nach dem Muster.

[aeiou]

Entspricht jedem Zeichen in einem angegebenen Zeichensatz.

[^XYZ]

Passt zu jedem Charakter, der nicht im Set enthalten ist.

[a-z0-9]

Entspricht jedem Zeichen in az oder 0-9.

(

Dieser Platzhalter steht für den Beginn der String-Extraktion.

)

Dieser Platzhalter steht für das Ende der String-Extraktion.

Beispiele von

Wenn Sie Zahlen aus einem Dokument extrahieren möchten, der reguläre Ausdruck ist: [0-9]+

Wenn Sie alle Zeichen außer Zahlen extrahieren möchten, der reguläre Ausdruck ist: [^0-9]+

So extrahieren Sie ein Muster, bei dem ein Name mit beginnt “EIN” und fertig mit “h”, der reguläre Ausdruck ist: ^ A[a-zA-Z]+ h $

Ein komplexerer regulärer Ausdruck, wenn Sie die E-Mail-Adresse extrahieren möchten, ist: ^[a-zA-Z][a-zA-Z0-9 ._ + -][E-Mail geschützt][A-Za-z]+.[A-Za-z]

Aufbau von Regex!

Regex kann sehr komplex sein. Das Verstehen und Erstellen komplexer regulärer Ausdrücke ist eine Kunst, die man durch das Tun lernt. Sie können verweisen hier um zu lernen, wie man komplexe reguläre Ausdrücke erstellt.

Python-Implementierung

Regex wird von vielen Programmiersprachen bereitgestellt, wie Python, Java, Javascript, etc. Auch wenn das Konzept immer noch überall gleich ist, kann einige Unterschiede in verschiedenen Sprachen finden.

Jetzt werden wir uns die verschiedenen Funktionen ansehen, die Python bietet, um reguläre Ausdrücke zusammen mit Ihrem Code zu implementieren.

Python bietet kein integriertes Regex-Modul. Sie müssen es mit dem pip-Befehl installieren und dann in Ihre Python-IDE importieren. Später speichern wir etwas Text in einer Variablen namens string.

pip installieren re
Importieren
Zeichenfolge = "Virat Kohli ist einer der größten Spieler im indischen Cricket-Team.nEr wurde im November geboren 5, 1988, in Delhi.nEr hat seine Ausbildung an der Vishal Bharti School abgeschlossen.nIn 2008, er gewann die Weltmeisterschaft für Indien mit Omars Kindern unter 19 Jahre. Aus 2011, er begann Test-Cricket-Matches. nEr ist derzeit der Kapitän aller drei Formate von Indien.n In 2017, Virat Kohli hat die Hindi-Filmschauspielerin Anushka Sharma geheiratet.nVirat hat zweimal den Man of the Tour gewonnen, In 2014 und 2016. nSeit 2008, er hat Delhis Heimmannschaften vertreten. nEr wurde mit dem Arjuna Award in Anerkennung der Leistungen des internationalen Cricket ausgezeichnet."

Matching-Methode

Diese Funktion sucht nach dem RE-Muster am Anfang des Strings und gibt das Match-Objekt des Strings zurück. Über die Gruppenfunktion können Sie den Wert in das Objekt eintragen (). Die Syntax für die Match-Funktion ist

re.match (Muster, Kette, banderas)

das Muster repräsentiert den regulären Ausdruck, das Seil stellt den zu suchenden Text dar, der dem Muster entspricht, und die Flags repräsentieren die Modifikatoren. Wenn wir irgendwelche Bedingungen anwenden möchten beim Pairing verwenden wir Flags. Dies ist ein optionaler Parameter.

Python-Code

Muster=r'(^[V].+?)S'
drucken(re.match(Muster,Schnur))      # Gibt das Match-Objekt zurück
drucken(re.match(Muster,Schnur).Gruppe()) #Wert aus dem Objekt extrahieren

PRODUKTION

Virat

Diese Funktion stimmt überein, wenn die erste Zeichenfolge mit V . beginnt.

Suchmethode

Diese Funktion sucht nach dem ersten Vorkommen des RE-Musters in der gegebenen Zeichenfolge. Diese Funktion gibt auch das Match-Objekt zurück, wenn das Muster gefunden wird; umgekehrter Fall, gibt keine zurück. Die Syntax ist

Forschung (Muster, Kette)

Beachten Sie, dass Spiel findet eine Übereinstimmung nur am Anfang der Zeichenfolge, während suchen nach sucht nach einer ersten Übereinstimmung irgendwo in der Zeichenfolge.

Python-Code

Muster=r'[0-9]+'
Forschung(Muster,Schnur)      # Gibt das Match-Objekt zurück
drucken(Forschung(Muster,Schnur).Gruppe())

PRODUKTION

Diese Funktion gibt die erste im Text vorhandene Zahl zurück.

findall-Methode

Diese Funktion gibt alle Vorkommen des RE-Musters in der Zeichenfolge zurück. Die Syntax für findall ist

wiederfinden (Muster, Seil)

Python-Code

Muster=r'[0-9]+'
drucken(wiederfinden(Muster,Schnur))

PRODUKTION

['5', '1988', '2008', '19', '2011', '2017', '2014', '2016', '2008']

Diese Funktion extrahiert alle Zahlen aus dem Text.

Untermethode

Diese Funktion wird verwendet, um alle Vorkommen des RE-Musters durch die neue Zeichenfolge zu ersetzen / Muster. Die Syntax ist:

re.sub (Muster, Antworten, Kette)

Python-Code

repl = r’Chiku ‘

zu drucken (re.sub (Muster, Antworten, Kette))


PRODUKTION

"Chiku Kohli ist einer der größten Spieler im indischen Cricket-Team.nEr wurde im November geboren 5, 1988, in Delhi.nEr hat seine Ausbildung an der Vishal Bharti School abgeschlossen.nIn 2008, er gewann die Weltmeisterschaft für Indien mit Omars Kindern unter 19 Jahre. Aus 2011, er begann Test-Cricket-Matches. nEr ist derzeit der Kapitän aller drei Formate von Indien.n In 2017, Virat Kohli hat die Hindi-Filmschauspielerin Anushka Sharma geheiratet.nChiku hat zweimal den Man of the Tour gewonnen, In 2014 und 2016. nSeit 2008, er hat Delhis Heimmannschaften vertreten. nEr wurde mit dem Arjuna Award in Anerkennung der Leistungen des internationalen Cricket ausgezeichnet."

Diese Rolle ersetzt Virat durch Chiku, Mit anderen Worten, Kohlis Spitzname.

Dies sind die am häufigsten verwendeten Funktionen des Moduls “betreffend”. Sie können verweisen erneute Dokumentation für mehr Details.

Zusammenfassung

Wir beginnen mit einer grundlegenden Definition von regulären Ausdrücken und diskutieren dann ihre verschiedenen Anwendungen. Später haben wir gelernt, reguläre Ausdrücke mit Wildcards zu bilden. Schließlich, wir implementieren mehrere Regex-Tools in Python.

Verweise

Hauptbild – https://www.codingforentrepreneurs.com/blog/python-regular-expressions/

Über mich

Hi! Soja Ashish Choudhary. Ich studiere B.Tech an der JC Bose University of Science and Technology. Data Science ist meine Leidenschaft und ich bin stolz darauf, interessante Blogs zu diesem Thema zu schreiben. Kontaktieren Sie mich gerne unter LinkedIn.

Die in diesem Beitrag gezeigten Medien sind nicht Eigentum von DataPeaker und werden nach Ermessen des Autors verwendet.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.