Правильное (aka RFC2822) регулярное выражение слишком сложно. Попробуйте что-то вроде (\ S + @ [a-zA-Z0-9 -.] + (\ S *; \ s * | \ s * \ Z)) +
Не идеально, но должно быть там 90% (еще не пробовал, поэтому может потребоваться какое-то изменение)
Примечание: не слишком уверен в том, что \ Z это может быть только Perl. Попробуйте также $, если он не работает.