permitir parênteses e outros símbolos no regex

Eu fiz este regex:

^[a-zA-Z0-9_.-]*$

Suporta:

letters [uppercase and lowercase]
numbers [from 0 to 9]
underscores [_]
dots [.]
hyphens [-]

Agora, quero adicionar estes:

spaces [ ]
comma [,]
exclamation mark  [!]
parenthesis [()]
plus [+]
equal [=]
apostrophe [']
double quotation mark ["]
at [@]
dollar [$]
percent [%]
asterisk [*]

Por exemplo, este código aceita apenas alguns dos símbolos acima:

^[a-zA-Z0-9 _.,-!()+=“”„@"$#%*]*$

Retorna:

Atenção: preg_match (): Falha na compilação: faixa fora de ordem na classe de caractere no deslocamento 16

questionAnswers(5)

yourAnswerToTheQuestion