using System;
using System.Linq.Expressions;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
string pattern = @"(?<=\[)[^][]*(?=])|(?<=#)[^#]*(?=#)|[A-Za-z0-9.]+";
string input = @"add galaxy [Milky way] elliptical 13.2B #test test #";
String[] matches = Regex.Matches(input, pattern)
.Cast<Match>()
.Select(m => m.Value)
.ToArray();
foreach (String m in matches)
{
Console.WriteLine(m);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucS5FeHByZXNzaW9uczsKdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7CnVzaW5nIFN5c3RlbS5MaW5xOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJc3RyaW5nIHBhdHRlcm4gPSBAIig/PD1cWylbXl1bXSooPz1dKXwoPzw9IylbXiNdKig/PSMpfFtBLVphLXowLTkuXSsiOwoJCXN0cmluZyBpbnB1dCA9IEAiYWRkIGdhbGF4eSBbTWlsa3kgd2F5XSBlbGxpcHRpY2FsIDEzLjJCICN0ZXN0IHRlc3QgIyI7CgkJCgkJU3RyaW5nW10gbWF0Y2hlcyA9IFJlZ2V4Lk1hdGNoZXMoaW5wdXQsIHBhdHRlcm4pCgkJICAgICAgICAgICAuQ2FzdDxNYXRjaD4oKQoJCSAgICAgICAgICAgLlNlbGVjdChtID0+IG0uVmFsdWUpCgkJICAgICAgICAgICAuVG9BcnJheSgpOwoJCQoJCWZvcmVhY2ggKFN0cmluZyBtIGluIG1hdGNoZXMpCgkJewoJCSAgICBDb25zb2xlLldyaXRlTGluZShtKTsKCQl9Cgl9Cn0=