Powtórzoooone znaki
Wracamy do analizy wydźwięku! Tym razem zastąpisz wydłużone słowa pojawiające się w tweetach. Wydłużone słowo to takie, w którym jakiś znak powtarza się co najmniej dwa razy z rzędu – na przykład "Awesoooome".
Zastępowanie takich słów jest bardzo ważne, ponieważ klasyfikator traktuje je jako osobny termin, inny od słowa źródłowego, co obniża jego częstotliwość.
Do ich wyszukiwania użyjesz grup przechwytujących i odwołasz się do nich za pomocą numerów, np. \4.
Jeśli chcesz znaleźć dopasowanie dla Awesoooome, najpierw przechwyć Awes. Następnie dopasuj o, odwołaj się do tego samego znaku wstecz, a na końcu dopasuj me.
Lista sentiment_analysis zawierająca teksty trzech tweetów oraz moduł re są już wczytane w sesji. Możesz użyć print(), aby wyświetlić dane w powłoce IPython.
To ćwiczenie jest częścią kursu
Wyrażenia regularne w Pythonie
Instrukcje do ćwiczenia
- Uzupełnij wyrażenie regularne tak, aby dopasowywało wydłużone słowo zgodnie z opisem.
- Przeszukaj elementy listy
sentiment_analysis, aby sprawdzić, czy zawierają wydłużone słowa. Przypisz wynik do zmiennejmatch_elongated. - Przypisz przechwyconą grupę o numerze zero do zmiennej
elongated_word. - Wyświetl wynik zapisany w zmiennej
elongated_word.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Complete the regex to match an elongated word
regex_elongated = r"____(____)____\w*"
for tweet in sentiment_analysis:
# Find if there is a match in each tweet
match_elongated = re.____(____, ____)
if match_elongated:
# Assign the captured group zero
elongated_word = match_elongated.____(____)
# Complete the format method to print the word
print("Elongated word found: {____}".format(word=____))
else:
print("No elongated word found")