[^-0-9A-Za-zА-Яа-я\s$] - это сметчит все, кроме символов после ^ (включая символ $!). Достаточно наличия одного такого символа в строке!
Если вы хотели, чтобы вся строка состояла из "знаки, отличные от букв, цифр, тире/дефис и пробела", то как-то так:
regexp_like(test, '^[^-0-9A-Za-zА-Яа-я\s]+$')