1
resposta

erro no regex python

Quando vou executar o refinditer acontece isso:

>>> resultados = re.finditer(regexp, alvo)                                                                            
>>> ...         print "%s | %s | %s [%s,%s]" % (resultado.group(), resultado.group(1), resultado.group(1), resultado.start(), resultado.end())
  File "<stdin>", line 1
    ...         print "%s | %s | %s [%s,%s]" % (resultado.group(), resultado.group(1), resultado.group(1), resultado.start(), resultado.end())
         ^
SyntaxError: invalid syntax
>>>

Gostaria de saber porque isso acontece.

Caso precise, aqui está o link do arquivo no Github: https://github.com/asantoslucas/_regex.git

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Bom dia Lucas, tudo bem?

Provavelmente é devido a versão diferente entre os interpretadores python. No vídeo o professor está usando a versão 2.7.10, mas geralmente a maior parte das instalações atuais é derivada da versão 3.+.

Considerando isso a sintaxe do python alterou a função print para print().

Seu código ficaria

print("%s | %s | %s [%s,%s]" % (resultado.group(), resultado.group(1), resultado.group(1), resultado.start(), resultado.end())

Outra situação que este estilo de formatação de strings no python praticamente caiu em desuso, mas isso só vai te interessar se vc realmente quiser saber mais sobre python. Ai recomendo olhar o seguinte tópico: https://docs.python.org/pt-br/3/tutorial/inputoutput.html