正则表达式匹配括号和大括号

时间:2014-02-24 14:24:31

标签: c# regex .net-4.0

我希望在字符串中找到所有括号和大括号,但方括号和引号之间除外。

示例:

  

“{([审批人] is_empty)}”

匹配{,(,)和}

  

“{([Appro(ver)equals'B} r')}”

仍匹配{,(,)和}

我已经完成了匹配所有括号和大括号的正则表达式,但我不能再进一步了

@"[\{\}\(\)]"

1 个答案:

答案 0 :(得分:1)

我建议读取字符串,并使用两个布尔值,设置为false squareBrackets和false引号,然后,开始读取字符串,如果找到'[',则将squareBrackets设为true,如果找到a']',再次设置为false,并且引号相同,然后,只有获得{,},(和)而squareBrackets!= true和quotes!= true

我希望这会有所帮助; D

bool squareBrackets = false;
bool quotes = false;

如果您喜欢并打开[或'并且不再阅读{,},(或)直到找到新的]或',则设置为true。