Есть три способа справиться с этим. Во-первых, нужно ограничить символы, которые вы соответствуете, чтобы не включать скобки:
let match = "12(pm):00".match(/[^(]*/);
console.log(match[0]);
Второй - получить только интересующую вас часть матча, используя группы захвата:
let match = "12(pm):00".match(/(.*?)\(/);
console.log(match[1]);
Третий - использовать упреждающий просмотр, чтобы явно исключить скобки из совпадения:
let match = "12(pm):00".match(/.*?(?=\()/);
console.log(match[0]);
Как и в OP, обратите внимание на не жадный модификатор во втором и третьем случае: необходимо ограничить квантификатор в случае, если внутри строки есть еще одна открытая скобка , Во-первых, в этом нет необходимости, поскольку квантификатору явно запрещено сожирать скобки.