Sabendo-se que a linguagem Python possui um pacote de busca ...
Comentários
Veja os comentários dos nossos alunos
>>> 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']
\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