Erste SchritteKostenlos loslegen

Reguläre Ausdrücke üben: re.split() und re.findall()

Jetzt hast du die Möglichkeit, einige reguläre Ausdrücke zu schreiben, die auf Ziffern, Zeichenketten und nicht-alphanumerische Zeichen passen. Sieh dir my_string zuerst an, indem du es in der IPython Shell ausdruckst, um herauszufinden, wie du die verschiedenen Schritte am besten zusammenbringen kannst.

Hinweis: Es ist wichtig, deinen Regex-Mustern das Präfix r voranzustellen, um sicherzustellen, dass deine Muster so interpretiert werden, wie du es möchtest. Andernfalls kann es zu Problemen mit Escape-Sequenzen in Zeichenketten kommen. Zum Beispiel wird "\n" in Python verwendet, um eine neue Zeile anzuzeigen. Wenn du jedoch das Präfix r verwendest, wird es als rohe Zeichenkette "\n" interpretiert - das heißt, das Zeichen "\" gefolgt von dem Zeichen "n" - und nicht als neue Zeile.

Das Modul für reguläre Ausdrücke re wurde bereits für dich importiert.

Erinnere dich aus dem Video daran, dass die Syntax für die Regex-Bibliothek darin besteht, immer zuerst das Muster und dann den String zu übergeben.

Diese Übung ist Teil des Kurses

Einführung in die natürliche Sprachverarbeitung in Python

Kurs anzeigen

Anleitung zur Übung

  • Teile my_string an jedem Satzende. Um dies zu tun:

    • Schreibe ein Muster namens sentence_endings, um Satzenden zu finden (.?!).

    • Verwende re.split(), um my_string auf dem Muster zu teilen und das Ergebnis zu drucken.

  • Finde und drucke alle großgeschriebenen Wörter in my_string, indem du ein Muster namens capitalized_words schreibst und re.findall() benutzt.

    • Erinnerst du dich an das [a-z] Muster, das im Video gezeigt wurde, um Kleinbuchstabengruppen zu finden? Ändere das Muster entsprechend ab, damit es auf Gruppen mit Großbuchstaben passt.
  • Schreibe ein Muster namens spaces, das mit einem oder mehreren Leerzeichen übereinstimmt ("\s+") und benutze dann re.split(), um my_string nach diesem Muster aufzuteilen, wobei alle Satzzeichen erhalten bleiben. Drucke das Ergebnis aus.

  • Finde alle Ziffern in my_string, indem du ein Muster namens digits ("\d+") schreibst und re.findall() benutzt. Drucke das Ergebnis aus.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# Write a pattern to match sentence endings: sentence_endings
sentence_endings = r"[___]"

# Split my_string on sentence endings and print the result
print(re.____(____, ____))

# Find all capitalized words in my_string and print the result
capitalized_words = r"[___]\w+"
print(re.____(____, ____))

# Split my_string on spaces and print the result
spaces = r"___"
print(re.____(____, ____))

# Find all digits in my_string and print the result
digits = r"___"
print(re.____(____, ____))
Bearbeiten und Ausführen von Code