日期:2014-05-18  浏览次数:20684 次

写一个正则表达式分隔字符串
给出的字符串格式如下:

任何字符串1(任何字符串),任何字符串2,.....

上面的括号为半角中文状态下输入的,逗号也为半角中文状态下输入的,后面的省略号表示还有N多像前面这种的
写一个正则表达式,将上面的字符串分隔为如下:

任何字符串1(任何字符串)
任何字符串2
......

注意,任何字符串内容中可能有括号,逗号等等其他特殊符号

请帮忙写一个正则表达式,谢谢

 

------解决方案--------------------
C# code
 string temp = @"任何字符串1((,,)),任何字符串2";
            string[] result = Regex.Matches(temp, @"[^,,]*?([((]((?<Open>[((])|(?<-Open>[))])|[^()()])+(?(Open)(?!))[))])?(?=[,,]|$)").Cast<Match>().Where(a=>!string.IsNullOrEmpty(a.Value)).Select(a=>a.Value).ToArray();
            /*
             *         [0]    "任何字符串1((,,))"    string
                    [1]    "任何字符串2"    string

             */