Caracteres repetidos
Volte para sua análise de sentimentos! Sua próxima tarefa é substituir as palavras alongadas que aparecem nos tuítes. Definimos uma palavra alongada como uma palavra que contém um caractere repetido duas ou mais vezes. "Awesoooome".
A substituição dessas palavras é muito importante, pois um classificador as tratará como um termo diferente das palavras de origem, diminuindo sua frequência.
Para encontrá-las, você usará grupos de captura e fará referência a eles usando números. Por exemplo, \4
.
Se você quiser encontrar uma correspondência para Awesoooome
. Primeiro você precisa capturar Awes
. Em seguida, faça a correspondência com o
e faça referência ao mesmo caractere de volta e, depois, com me
.
A lista sentiment_analysis
, que contém o texto de três tuítes, e o módulo re
estão carregados em sua sessão. Você pode usar print()
para visualizar os dados no Shell IPython.
Este exercício faz parte do curso
Expressões regulares em Python
Instruções de exercício
- Complete a expressão regular para corresponder a uma palavra alongada, conforme descrito.
- Pesquise os elementos na lista
sentiment_analysis
para descobrir se eles contêm palavras alongadas. Atribua o resultado amatch_elongated
. - Atribua o número zero do grupo capturado à variável
elongated_word
. - Imprima o resultado contido na variável
elongated_word
.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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")