regex password validation for special set of special character and not every special characters

/^(?=.d)(?=.[a-z])(?=.[A-Z])(?=.[^a-zA-Z0-9])(?!.*s).{8,18}$/

This is the regex that I am using now, I want to make some changes to it so that it only accepts these special characters $@#^|!~=+-_. and not every special character