The last part of your regex ([A-Za-z\d@$!%*?&]+) matches only the characters spécified within it and there are no parens.
[A-Za-z\d@$!%*?&]+
You should use .+ instead to match all the characters because the validation has already been done before.
.+