Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Resultado do regex

Por favor, por que esse código:

  resultados = re.findall(r'(^\d\w+)', '88centavos Peer2Peer Python2 99taxi')
 resultados
['88centavos']

só retorna ['88centavos']?

Não deveria retornar ['88centavos', '99taxi']??

6 respostas

Oi Luiz, tudo bem?

Veja que você está usando o ^, isso indica que você está procurando uma palavra no começo da string que começa com um dígito (\d).

Como você quer procurar as palavras que comecem com um dígito, você deve passar o parâmetro \b, isto é, palavras na string que comecem com um dígito: \b\d\w+

No código fica assim:

>> resultados = re.findall(r'(\b\d\w+)', '88centavos Peer2Peer Python2 99taxi')
>>  resultados
['88centavos']
solução!

Valeu Yuri!! Muito obrigado!

Oi Luiz, neste caso é por conta do '^' que vai buscar apenas no início da String.

Para ter o resultado que deseja você precisa fazer:

import re

resultados = re.findall(r'(\b\d\w+)', '88centavos Peer2Peer Python2 99taxi')
print(resultados)

Valeu Thais!! Muito obrigado!!

desculpe, tinha deixado a janela aberta e eu não tinha visto que o yuri já tinha respondido e não consegui excluir a resposta.

Que isso Thais, quanto mais informações, melhor!!! Valeu!!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software