ComeçarComece gratuitamente

Praticando expressões regulares: re.split() e re.findall()

Agora você terá a oportunidade de escrever algumas expressões regulares para corresponder a dígitos, cadeias de caracteres e caracteres não alfanuméricos. Dê uma olhada em my_string primeiro imprimindo-o no Shell IPython, para determinar como você pode combinar melhor as diferentes etapas.

Observação: É importante prefixar seus padrões regex com r para garantir que seus padrões sejam interpretados da maneira que você deseja. Caso contrário, você poderá encontrar problemas relacionados a sequências de escape em cadeias de caracteres. Por exemplo, "\n" em Python é usado para indicar uma nova linha, mas se você usar o prefixo r, ele será interpretado como a string bruta "\n" - ou seja, o caractere "\" seguido pelo caractere "n" - e não como uma nova linha.

O módulo de expressão regular re já foi importado para você.

Lembre-se de que, no vídeo, a sintaxe da biblioteca regex é sempre passar o padrão primeiro e, em seguida, a cadeia de caracteres.

Este exercício faz parte do curso

Introdução ao processamento de linguagem natural em Python

Ver Curso

Instruções de exercício

  • Divida my_string em cada final de frase. Para fazer isso:

    • Escreva um padrão chamado sentence_endings para corresponder às terminações de frases (.?!).

    • Use re.split() para dividir my_string no padrão e imprimir o resultado.

  • Encontre e imprima todas as palavras em maiúsculas em my_string escrevendo um padrão chamado capitalized_words e usando re.findall().

    • Você se lembra do padrão [a-z] mostrado no vídeo para combinar grupos de letras minúsculas? Modifique esse padrão adequadamente para corresponder a grupos de letras maiúsculas.
  • Escreva um padrão chamado spaces para corresponder a um ou mais espaços ("\s+") e, em seguida, use re.split() para dividir my_string nesse padrão, mantendo toda a pontuação intacta. Imprima o resultado.

  • Encontre todos os dígitos em my_string escrevendo um padrão chamado digits ("\d+") e usando re.findall(). Imprima o resultado.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# 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.____(____, ____))
Editar e executar código