我想要一个与分隔逗号短语相匹配的正则表达式 逗号之间相同数量的开放和结束括号。
例如......
{abc} (def), [ghi], (jkl, mno)
-----------------------------
the match should be:
{abc} (def)
[ghi]
(jkl, mno)
我正在使用C#.Net
感谢提前!
答案 0 :(得分:3)
如果没有嵌套括号,您可以使用:
((?:\{[^}]*\}|\([^)]*\)|\[[^\]]*\])\s*)+
string test = "{abc} (def), [ghi], (jkl, mno)";
string pattern = @"((?:\{[^}]*\}|\([^)]*\)|\[[^\]]*\])\s*)+";
foreach (Match m in Regex.Matches(test, pattern))
Console.WriteLine(m.Value);
打印:
{abc} (def)
[ghi]
(jkl, mno)