Já havia testado da forma que foi apresentado na ajuda:
def procurar_regex(nomes):
print('Digite a expressão regular')
regex = raw_input()
nomes_concatenados = ' '.join(nomes)
resultados = re.findall(regex, nomes_concatenados)
print(resultados)
`
Porém, se for cadastrado Ariann , Michael, Martins e for procurar por 'M', a reposta não é a esperada.
Segue o arquivo appy.py:
# -*- coding: UTF-8 -*-
import re
def cadastrar(nomes):
print 'Digite: o nome:'
nome = raw_input()
nomes.append(nome)
def listar(nomes):
print 'Listando nomes'
for nome in nomes:
print nome
def remover(nomes):
print 'Qual nome você gostaria de remover?'
nome = raw_input()
nomes.remove(nome)
def alterar(nomes):
print 'Qual nome você gostaria de alterar?'
altera = raw_input()
if(altera in nomes):
print'Nome existe, digite o novo nome:'
novo = raw_input()
nomes[nomes.index(altera)] = novo
else:
print'Nome inválido.'
def procurar(nomes):
print'Digite nome a procurar:'
nome_a_procurar = raw_input()
if(nome_a_procurar in nomes):
posicao = nomes.index(nome_a_procurar)
print 'Nome existe e está na posição: %s' % (posicao+1)
else:
print'Nome inválido'
def procurar_regex(nomes):
print('Digite a expressão regular')
regex = raw_input()
nomes_concatenados = ' '.join(nomes)
resultados = re.findall(regex, nomes_concatenados)
print(resultados)
def menu():
nomes = []
escolha = ''
while(escolha != '0'):
print 'Digite: 1 para cadastrar, 2 para listar, 3 para remover, 4 para alterar, 5 para procurar, 6 para regex, 0 para terminar'
escolha = raw_input()
if(escolha == '1'):
cadastrar(nomes)
if(escolha == '2'):
listar(nomes)
if(escolha == '3'):
remover(nomes)
if(escolha == '4'):
alterar(nomes)
if(escolha == '5'):
procurar(nomes)
if(escolha == '6'):
procurar_regex(nomes)
menu()