Upprepade tecken
Tillbaka till sentimentanalysen! Din nästa uppgift är att ersätta förlängda ord som förekommer i tweets. Vi definierar ett förlängt ord som ett ord där ett tecken upprepas två eller fler gånger i rad, till exempel "Awesoooome".
Att ersätta sådana ord är viktigt eftersom en klassificerare annars behandlar dem som skilda termer från grundorden, vilket sänker deras frekvens.
För att hitta dem använder du infångningsgrupper och refererar tillbaka till dem med nummer, till exempel \4.
Om du vill hitta en matchning för Awesoooome behöver du först fånga Awes. Sedan matchar du o, refererar tillbaka till samma tecken och avslutar med me.
Listan sentiment_analysis, som innehåller texten från tre tweets, samt modulen re är inlästa i din session. Du kan använda print() för att visa data i IPython Shell.
Den här övningen är en del av kursen
Reguljära uttryck i Python
Övningsinstruktioner
- Komplettera det reguljära uttrycket för att matcha ett förlängt ord enligt beskrivningen ovan.
- Sök igenom elementen i listan
sentiment_analysisför att avgöra om de innehåller förlängda ord. Tilldela resultatet tillmatch_elongated. - Tilldela den infångade gruppens nummer noll till variabeln
elongated_word. - Skriv ut resultatet som finns lagrat i variabeln
elongated_word.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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")