我想有一个正则表达式,它将匹配一个逗号分隔的短语
逗号之间相等数量的相同类型的打开和关闭括号。
例如...
{abc} (def), [ghi], (jkl, mno)
-----------------------------
the match should be:
{abc} (def)
[ghi]
(jkl, mno)
我正在使用C#.Net
感谢前进!
最佳答案
如果没有嵌套的括号,则可以使用:
((?:\{[^}]*\}|\([^)]*\)|\[[^\]]*\])\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)
关于c# - C#正则表达式匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6837062/