Dividir seqüências de caracteres em palavras com delimitadores de limite de várias palavras

Eu acho que o que eu quero fazer é uma tarefa bastante comum, mas não encontrei nenhuma referência na web. Eu tenho texto com pontuação e quero uma lista das palavras.

"Hey, you - what are you doing here!?"

deveria estar

['hey', 'you', 'what', 'are', 'you', 'doing', 'here']

Mas o Pythonstr.split() só funciona com um argumento, então eu tenho todas as palavras com a pontuação depois que eu dividir com o espaço em branco. Alguma ideia?

questionAnswers(29)

yourAnswerToTheQuestion