1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wprowadzenie do przetwarzania języka naturalnego w Pythonie

Connected

ćwiczenie

Ćwiczenie wyrażeń regularnych: re.split() i re.findall()

Teraz masz szansę samodzielnie napisać kilka wyrażeń regularnych dopasowujących cyfry, ciągi znaków i znaki niealfanumeryczne. Zanim zaczniesz, wyświetl zmienną my_string w powłoce IPython, żeby zorientować się, jak najlepiej podejść do poszczególnych kroków.

Uwaga: ważne jest, aby poprzedzać wzorce wyrażeń regularnych prefiksem r – dzięki temu są one interpretowane dokładnie tak, jak zamierzasz. W przeciwnym razie mogą pojawić się problemy związane z sekwencjami ucieczki w łańcuchach znaków. Na przykład "\n" w Pythonie oznacza nową linię, ale z prefiksem r zostanie potraktowany jako dosłowny ciąg "\n" – czyli znak "\" po którym następuje znak "n" – a nie jako nowa linia.

Moduł wyrażeń regularnych re jest już zaimportowany.

Pamiętaj z filmu, że w bibliotece regex wzorzec zawsze przekazuje się jako pierwszy argument, a ciąg znaków jako drugi.

Instrukcje

100 XP
  • Podziel my_string na zdania. W tym celu:
    • Napisz wzorzec o nazwie sentence_endings, który dopasowuje znaki kończące zdanie (.?!).
    • Użyj re.split(), aby podzielić my_string według tego wzorca, i wyświetl wynik.
  • Znajdź i wyświetl wszystkie słowa zaczynające się wielką literą w my_string. Napisz w tym celu wzorzec o nazwie capitalized_words i użyj re.findall().
    • Pamiętasz wzorzec [a-z] z filmu, który dopasowuje małe litery? Zmodyfikuj go odpowiednio, aby dopasowywał wielkie litery.
  • Napisz wzorzec o nazwie spaces dopasowujący jedną lub więcej spacji ("\s+"), a następnie użyj re.split(), aby podzielić my_string według tego wzorca, zachowując całą interpunkcję. Wyświetl wynik.
  • Znajdź wszystkie cyfry w my_string, pisząc wzorzec o nazwie digits ("\d+") i używając re.findall(). Wyświetl wynik.