Попробуйте экранировать ]
в классе персонажей.
[^@()[\]\;:,<>]+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/
^^
Если не экранировать, ]
будет неправильно рассматриваться как конец класса символов.
Поскольку это было помечено как Java, помните, что вам нужно избегать использования \\
, а не просто \
.