次のようなものを使用できます。
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z\d=:;<>,~!@#\\$%/^&)(\[\]+-]{8,}$
ここでテストします。ここで「ポジティブ・ルックアヘッド」と呼ばれる「?=」についても学びたいと思うかもしれません。つまり、3 つの先読み (.*\dおよび.*[a-z]および.*[A-Z]) がすべて一致する (および破棄される) 場合、メインの正規表現[a-zA-Z\d=:;<>,~!@#\\$%/^&)(\[\]+-]{8,}も一致する可能性があります。