Com o que vimos até aqui, já conseguimos tratar corretamente acentos? Porque ao fazer esse exercício usando como input "João" e "José" o negócio pegou fogo.
O que tentei foi cadastrar João, Marcelo e José. Na sequência rodei a opção de consulta com a seguinte regex: \b[jJ][oO].+\b
No exemplo que estou rodando agora tenho 6 strings: Fabio, Flavio, Nico, João, Marcelo, José
Ao rodar com aquele regex ali, ele retorna uma lista com somente um elemento, sendo ele ['Jo\xc3\xa3o Marcelo Jos']
def procurar_regex(nomes):
print('Digite a expressão regular:')
regex = raw_input()
nomes_como_string = ' '.join(nomes)
resultados = re.findall(regex, nomes_como_string)
print resultados