1
resposta

\b boundary

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

No exercício não tinha uma explicação. Pelos testes que fiz ele complementa o \d trazendo mais resultados.

Poderiam explicar melhor ?

1 resposta

Oi Leandro,

O \b representa uma word boundary ou um limite de palavra em português. Um limite de palavra costuma ser um espaço, o começo de uma linha, o final de uma linha ou pontuação. Veja que

>>> resultados = re.findall(r'(\w+\d)', 'rota66 88centavos Peer2Peer Python2')
>>> resultados
['rota66', '88', 'Peer2', 'Python2']

traz 88 como resultado, enquanto

>>> resultados = re.findall(r'(\w+\d\b)', 'rota66 88centavos Peer2Peer Python2')
>>> resultados
['rota66', 'Python2']

não traz. Isso acontece porque depois de 88 vem c (de centavos), que não é um limite de palavra.