Input string:
[Wsg-Fs]-A-A-A-Cgbs-Sg7-[Wwg+s-Fs]-A-A-Afk-Cgbs-Sg7
Desired output is a string array:
[Wsg-Fs] A A A Cgbs Sg7
Assuming there are no nested square brackets, you can use the following to only match - characters that are outside of square brackets:
-(?![^\[]*\])
Example: http://regex101.com/r/sX5hZ2
This uses a negative lookahead, with the logic that if there is a closing square bracket before any opening square brackets, then the - that we tried to match is inside of brackets.