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

Como fazer o import no arquivo app.py

Galera blz ? Estou tentando executar a regex em uma função no arquivo app.py, implementei o import da seguinte forma:

-- coding: UTF-8 --

import re

embaixo vai as funções...

Contudo, quando executo minha função o seguinte erro me é reportado:

File "app.py", line 48, in find_name resultReg = re.findall(reg, join_names) NameError: global name 'reg' is not defined

7 respostas

Oi Aluno,

parece que o problema não eh o import e sim a variável reg. Essa variável representa o pattern.

abs

Certo, o que devo fazer ? inicializar a variável reg como sendo um objeto pattern ?

Isso :)

>>> import re
>>> reg = r'([JP]\w+)'
>>> resultados = re.findall(reg,'Java JavaScript Python')
>>> resultados

Copiei o código dos exercícios:

https://www.alura.com.br/course/introducao-ao-python/section/7/exercise/3

Abs , Nico

Nico, o que eu estou tentando fazer é receber a Regex pelo raw_input, tentei dessa forma mais não deu certo:

reg_exp = raw_input() reg = r'+reg_exp+'

resultReg = re.findall(reg, join_names)

Nesse caso, o correto seria eu atribuir o que recebi do usuário ao objeto do tipo Pattern ? Essa foi minha ideia, mas não consegui.

Desde já obrigado pela ajuda brother. Aguardo...

solução!

Tente:

>>> import re
>>> reg = raw_input()
([J]\w+)
>>> resultados = re.findall(reg,'Java JavaScript Python')
>>> resultados

isso funcionou comigo!

Blz deu certo aqui também man, valeu! Nesse caso, o raw_input recebe uma string pura, da mesma forma como utilizamos no exemplo que da aula no terminal. Portanto tanto raw_input quanto o comando r'' (raw string, não sei se posso chamar de comando?!) são semelhantes no que tange a utilizarem a string pura.

Oi,

Comr'....' vc declara o que se chama de raw string literal, ou seja, r == raw.

abs