Sabendo-se que a linguagem Python possui um pacote de busca ...

Próximas questões
Com base no mesmo assunto
Q48288 Programação
Julgue os itens seguintes acerca de linguagens e outras tecnologias de programação.

Sabendo-se que a linguagem Python possui um pacote de busca por expressões regulares denominado re, e que a função findall é uma das funções disponíveis nesse pacote, o resultado da execução do comando apresentado no console na figura seguinte será ['rato', 'roeu', 'roupa', 'rei', 'roma'].

Imagem 005.jpg

Alternativas

Comentários

Veja os comentários dos nossos alunos

Expressão avaliará palavras começadas com letra r seguindas por letras no intervalo de [a-p]

>>> re.findall(r'\br[a-p]*','o rato roeu a roupa do rei de roma')

A saída será essa:
['ra', 'roe', 'ro', 'rei', 'roma']

O r inicial anterior ao bloco separado por aspas indica que o conteúdo dentro das aspas deve ser considerado sem nenhuma formatação para caracteres especial (raw)

\b => a palavra deve ter um caracter não alfabético antes (no caso o espaço)
r => a palavra deve iniciar com a letra r
[a-p] => indica o intervalo de letras possíveis após o r inicial
* => indica que a letra escolhida do intervalo pode nenhuma ou infinitas

Explicando com mais cuidado

re.findall(r'\br[a-p]*','o rato roeu a roupa do rei de roma')

r - Informa ao python que caracteres especiais que inicial (\b, \n, \w e etc) devem ser tratados como um único caractere especial e não com meros caracteres, tipo '\' e 'b'

'' - as aspas simples delimitam o início e fim da expressão regular

\b - caractere especial que informa que a string deve ser precedida por algum caractere não alfanumérico, neste caso o espaço em branco ' ' (este caractere não será incluso no resultado)

r - informa que após o caractere não alfanumérico deve vir uma letra 'r'

[a-p] - informa que a letra seguinte deve estar no intervalo de 'a' até 'p' (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)

* - informa que o caractere anterior pode se repetir 0 ou mais vezes (poderemos ter letras de 'a' até 'p', em qualquer ordem, até que o próximo caractere lido não esteja no intervalo)

'o rato roeu a roupa do rei de roma' - string na qual a expressão regular será analisada

Resultado obtido:

['ra', 'roe', 'ro', 'rei', 'roma']

'ra' parou pois encontrou um 't', que não está na sequencia

'roe' parou porque encontrou um 'u'

'ro' encontrou um 'u'

'rei' parou porque encontrou um ' '

'roma' parou porque acabou a string

Caso queiram fazer teste podem utilizar o console online do próprio site do Python: https://www.python.org/shell/

Para quem não entende os comentários sem o gabarito e não tem acesso a resposta.

Gaba: ERRADO

 

analisando a questão sem saber o assunto:

... expressões regulares denominado re, e que a função findall é

RE = creio que vai refinar alguma coisa 

findall = vai buscar tudo que foi escrito "FIND ALL"

>>> re.findall(r'\br[a-p]*','o rato roeu a roupa do rei de roma') = aqui eu acho que ele vai pegar somente p R' pq esta separado e vai diminuir algo devido a-p e o * vai ler todo o texto... pensaria assim pra tentar resolver a questão mesmo sem saber sobre programação e teria a malicia de saber que o será exibido não será o texto original, senão pra que criar uma função se o print já imprime o texto completo.

 

 

 

 

Expressão avaliará palavras começadas com letra r seguindas por letras no intervalo de [a-p]

>>> re.findall(r'\br[a-p]*','o rato roeu a roupa do rei de roma')

A saída será essa:
['ra', 'roe', 'ro', 'rei', 'roma']

Obrigada APFCoelho. Para quem não entende seus comentários e criticam, vão  preocupar em aprender o conteúdo e parar de incomodar quem tenta ajudar. Para quem não é assinante, tem acesso limitado as respostas, e por isso é de muita valia os comentários dele. 

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo