Для решения можно собрать в все токены в одно регулярное выражение с |
Для создания динамического регулярного выражения нужно воспользоваться конструктором RegExp
Стоит обратить внимание, что скобки являются специальными символами в регулярных выражениях, поэтому они должны быть предварительно экранированы.
После применения split
, в получившемся массив могут пустые элементы, в случаях, когда разделители в строке идут друг за другом.
Для отсеивания таких элементов можно использовать метод .filter
var code = "out('sus')";
var lpar = "\\(";
var rpar = "\\)";
var quot = "'";
var out = "out";
console.log(code.split(new RegExp('(' + [lpar, rpar, quot, out].join('|') + ')')).filter(t => t))