Regex para senha de identidade principal do ASP.NET padrão

Nota: Esta questão, acredito, não é a duplicata destaPergunta, questão. Minha pergunta é lidar com as regras de validação padrão que a identidade principal do asp.net possui para validação de senha e como ela pode ser feita, enquanto a pergunta vinculada está em discussão, em geral sobre o ato de validar a senha (o que não resolve o meu problema)

O ASP.NET Core permite o padrão após a validação de senha

Mínimo de 8 caracteresDeve ter pelo menos um númeroDeve ter pelo menos uma letra maiúsculaDeve ter pelo menos uma letra minúsculaDeve ter pelo menos um caractere especial (quais caracteres especiais são permitidos?)

Mantendo essas condições em mente, tentei fazer o seguinte regex, mas ele não está funcionando.

^((?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])|(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[^a-zA-Z0-9])|(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[^a-zA-Z0-9])|(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^a-zA-Z0-9])).{8,}$

Essa regex aceita as strings mesmo quando uma das três condições dos pontos 2,3,4,5 corresponde. Mas eu quero que todas as condições sejam satisfeitas.

O que eu estou fazendo errado aqui?

questionAnswers(1)

yourAnswerToTheQuestion