using System;
using System.Text.RegularExpressions;
using System.Collections.Specialized;
class Program
{
static void Main() {
string s1 = @"[Wsg-Fs]-A-A-A-Cgbs-Sg7-[Wwg+s-Fs]-A-A-Afk-Cgbs-Sg7";
var myRegex = new Regex(@"\[[^\]]*\]|(-)");
var group1Caps = new StringCollection();
string replaced = myRegex.Replace(s1, delegate(Match m) {
if (m.Groups[1].Value == "") return m.Groups[0].Value;
else return "SPLIT_HERE";
});
string[] splits = Regex.Split(replaced,"SPLIT_HERE");
foreach (string split in splits) Console.WriteLine(split);
Console.WriteLine("\nPress Any Key to Exit.");
Console.ReadKey();
} // END Main
} // END Program
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZDsKY2xhc3MgUHJvZ3JhbQp7CnN0YXRpYyB2b2lkIE1haW4oKSB7CnN0cmluZyBzMSA9IEAiW1dzZy1Gc10tQS1BLUEtQ2dicy1TZzctW1d3ZytzLUZzXS1BLUEtQWZrLUNnYnMtU2c3IjsKdmFyIG15UmVnZXggPSBuZXcgUmVnZXgoQCJcW1teXF1dKlxdfCgtKSIpOwp2YXIgZ3JvdXAxQ2FwcyA9IG5ldyBTdHJpbmdDb2xsZWN0aW9uKCk7CiAKc3RyaW5nIHJlcGxhY2VkID0gbXlSZWdleC5SZXBsYWNlKHMxLCBkZWxlZ2F0ZShNYXRjaCBtKSB7CmlmIChtLkdyb3Vwc1sxXS5WYWx1ZSA9PSAiIikgcmV0dXJuIG0uR3JvdXBzWzBdLlZhbHVlOwplbHNlIHJldHVybiAiU1BMSVRfSEVSRSI7Cn0pOwoKc3RyaW5nW10gc3BsaXRzID0gUmVnZXguU3BsaXQocmVwbGFjZWQsIlNQTElUX0hFUkUiKTsKZm9yZWFjaCAoc3RyaW5nIHNwbGl0IGluIHNwbGl0cykgQ29uc29sZS5Xcml0ZUxpbmUoc3BsaXQpOwogCkNvbnNvbGUuV3JpdGVMaW5lKCJcblByZXNzIEFueSBLZXkgdG8gRXhpdC4iKTsKQ29uc29sZS5SZWFkS2V5KCk7CiAKfSAvLyBFTkQgTWFpbgp9IC8vIEVORCBQcm9ncmFtCiA=