Я бы, наверное, сделал это как три регулярных выражения, начиная с круглых скобок и скобок, и возвращаясь к меньшему количеству элементов, если это не удалось.
^(.*?)\s+\((.*?)\)\s+\[(.*?)\]\s+$
если не получится, попробуйте:
^(.*?)\s+\((.*?)\)\s+$
, если это также не удается, попробуйте:
^\s+(.*?)\s+$
Я уверен, что их можно объединить в одно регулярное выражение, но я бы не стал пытаться.