Well the main issue with your regular expression is that javascript does not support Lookbehind.
re = /(?=[\(\) ])|(?<=[\(\) ])/
^^^ A problem...
Instead, you could possibly use an alternative:
re = /(?=[() ])|(?=[^\W])\b/;
strSplit = rawQuery.split(re);
console.log(strSplit);
// [ 'hello:', '(', 'world', ' ', 'one', ' ', 'two', ' ', 'three', ')' ]