首页 > 解决方案 > 平衡和不平衡字符串的正则表达式

问题描述

我需要匹配可以在括号之间的字符串{}。字符串还可以包含更多类型的括号。它也可以是平衡的和不平衡的。

例如:{Title} {Size{()} {Color({[]})} {Test{} {Color{}}

所以,我实际上需要删除{....}

在这种情况下,匹配的字符串应该是:Title, Size{(), Color({[]}), Test{, Color{}

我正在使用这个正则表达式

Regex regex =  new Regex("\\{([^}]+)}");

我当时正在使用:

regex.Matches(checkedString), where checkedString could be: ( {Title} {Size{()} {Color({[]})} {Test{}  {Color{}})

它仅在括号未关闭时才有效,因此它适用于:{Size{()}- 它获取 Size{() 字符串。它不适用于{Color{}},因此括号是平衡的。在这种情况下,我应该得到Color{}

任何帮助表示赞赏。

标签: regexmatchingbalancing-groups

解决方案


推荐阅读