Bem, não é bem assim. Você vai sentir falta de algumas coisas.
Parte do domínio:
\w+
corresponde a caracteres de palavras. o que é ok, até que a pessoa não use o nome NETBIOS, mas use o nome de domínio (totalmente suportado) para que corresponda a STACKOVERFLOW\Zypher
... mas não STACKOVERFLOW.COM\Zypher
porque o .
irá eliminar a correspondência.
A parte do usuário:
enquanto Goyuix declarou quais personagens não são permitidos. O que isso diz implicitamente é que TODOS OS OUTROS personagens são permitidos. Um exemplo muito comum disso são os caracteres -
. Então, basta usar o traço como um exemplo STACKOVERFLOW\Zypher-SO
não corresponderia.
Também <user>@<domain>
é uma notação válida para uma conta de usuário.
O que você está tentando realizar, pode haver uma maneira melhor do que o regex.