split on the characters you choose, and filter the array to remove values that are empty or just spaces (if you don't want them for some reason) ?
var words = (mystring.split(/(\s+|\(|\)|\!)/)).filter(function(n) {return n.trim()});
// returns
// ["(", "this", "is", "my", "string", "!", ")"]