Вы можете сделать что-то вроде этого:
.*(?<!\\)\((.*?)(?<!\\)\)
По сути, он сопоставляет максимально возможное количество символов, пока не увидит открытую скобку без обратной косой черты (с использованием отрицательного обратного слеша), а затем сгруппирует следующие совпадающие символы до закрывающей скобки (все еще без обратной косой черты).
Обратите внимание, что это регулярное выражение может работать некорректно, если вы избежите обратной косой черты.
Пример: https://regex101.com/r/BqVKZp/1