I have the following regex:
\\[([^ -\\]]+)( - ([^ -\\]]+))+\\]
This match the following successfully:
[abc - def - ghi - jk
This is not the job for the regexp. Match against \[([^\]]*)\], then split the first capture by the " - ".
\[([^\]]*)\]
split
" - "