LoslegenKostenlos loslegen

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

Jetzt kannst du eigene reguläre Ausdrücke schreiben, um Ziffern, Zeichenketten und nicht-alphanumerische Zeichen zu matchen. Schau dir zuerst my_string an, indem du diesen in der IPython Shell ausgibst, um zu entscheiden, welches Muster du für welchen Schritt benötigst.

Hinweis: Es ist wichtig, dass deinen Regex-Muster ein r vorangestellt wird, damit sie genau so interpretiert werden, wie du es beabsichtigst. Andernfalls kann es zu Problemen mit Escape-Sequenzen in Strings kommen. Zum Beispiel steht "\n" in Python für einen Zeilenumbruch. Wenn du jedoch das Präfix r verwendest, wird es als roher String "\n" interpretiert – also als das Zeichen "\" gefolgt vom Zeichen "n" – und nicht als Zeilenumbruch.

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

Erinnere dich aus dem Video: Bei der Regex-Bibliothek gibst du zuerst das Muster und danach den String an.

Diese Übung ist Teil des Kurses

Einführung in Natural Language Processing mit Python

Kurs anzeigen

Anleitung zur Übung

  • Teile my_string an jedem Satzende:
    • Schreibe ein Muster namens sentence_endings, um Satzendungen zu matchen (.?!).
    • Verwende re.split(), um my_string anhand des Musters zu splitten, und gib das Ergebnis aus.
  • Finde und gib alle großgeschriebenen Wörter in my_string aus, indem du ein Muster namens capitalized_words schreibst und re.findall() verwendest.
    • Erinnerst du dich an das im Video gezeigte Muster [a-z] zum Matchen von Kleinbuchstabengruppen? Passe es so an, dass Großbuchstabengruppen gematcht werden.
  • Schreibe ein Muster namens spaces, um ein oder mehrere Leerzeichen zu matchen ("\s+"), und verwende dann re.split(), um my_string anhand dieses Musters zu splitten, wobei alle Satzzeichen erhalten bleiben. Gib das Ergebnis aus.
  • Finde alle Ziffern in my_string, indem du ein Muster namens digits ("\d+") schreibst und re.findall() verwendest. Gib das Ergebnis aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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.____(____, ____))
Code bearbeiten und ausführen