What is the regex to make sure that a given string contains at least one character from each of the following categories.
You can match those three groups separately, and make sure that they all present. Also, [^\w] seems a bit too broad, but if that's what you want you might want to replace it with \W.
[^\w]
\W