I think you could use a Rule Engine with a rule such as this:
NOT $column1$ MATCHES "^[a-zA-Z0-9\^_=\!#\$%&\(\)\*\+\-\.:'/\?@ ]*$" => FALSE
TRUE => TRUE
Note that I haven’t included comma in this list. You had it both in your allowed and disallowed list but as you’d mentioned it in disallowed, I assume its presence in the first list was a typo.
For all the regex characters that have “special meaning”, they have to be escaped with a preceding back-slash \ characters (I hope I got them all!), and the entire list of allowed characters is enclosed in [ ] square brackets. This will also allow empty strings (zero characters). If you don’t want to allow the string to be empty replace the * at the end with a +.