Python: Expressão regular para combinar alfanumérico não está funcionando?

Eu estou procurando combinar uma seqüência de caracteres que é inserida em um site para verificar se é alfanumérico e possivelmente contém um sublinhado. Meu código:

if re.match('[a-zA-Z0-9_]',playerName):
            # do stuff

Por alguma razão, isso combina com caracteres malucos, por exemplo: nIg ○ ▲ ☆ ★ ◇ ◆

Eu só quero regular A-Z e 0-9 e _ correspondência, há algo que estou perdendo aqui?

questionAnswers(3)

yourAnswerToTheQuestion