https://regex101.com/r/nV9ZLS/1
^[^\s()-]*$
Первая "крышка" означает, что это начало строки. Последний "доллар" означает конец строки.
Между ними любое (0 или более символов) из множества, описанного в квадратны скобках.
В квадратных скобках крышка означает, что множество инвертировано. То есть допускаются любые символы, кроме перечисленных.
То есть, данное множество представляет собой НЕ: пробел, скобки и минус, но любые другие символы.