Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式匹配圆括号和花括号_C#_Regex_.net 4.0 - Fatal编程技术网

C# 正则表达式匹配圆括号和花括号

C# 正则表达式匹配圆括号和花括号,c#,regex,.net-4.0,C#,Regex,.net 4.0,我想找到所有括号 和字符串中的花括号,方括号和引号之间的除外 示例: “{([Approver]为_空)}” 匹配{,(,)和} “{([Appro(ver]等于'B}r')}” 仍然匹配{,(,)和} 我已经完成了匹配所有括号的正则表达式 和花括号,但我不能再进一步了 @"[\{\}\(\)]" 我建议使用onle读取字符串,并使用两个布尔值,设置为假方括号和假引号,然后开始读取字符串,如果找到“[”,则将方括号设置为true,如果找到“]”,则再次设置为false,并使用引号设置为fals

我想找到所有括号 和字符串中的花括号,方括号和引号之间的除外

示例:

“{([Approver]为_空)}”

匹配{,(,)和}

“{([Appro(ver]等于'B}r')}”

仍然匹配{,(,)和}

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

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

我建议使用onle读取字符串,并使用两个布尔值,设置为假方括号和假引号,然后开始读取字符串,如果找到“[”,则将方括号设置为true,如果找到“]”,则再次设置为false,并使用引号设置为false,然后仅获取{,},(and)而方括号!=true和引号!=true

我希望这有帮助;D

bool squareBrackets = false;
bool quotes = false;

如果您喜欢并打开[or],并且在找到新的[or]或之前不再阅读{,},(or),则将其设置为true。

将为您提供有关带有嵌套patterns@JonesyNET正则表达式实际上可以实现这一点(因为它们不代表常规语言;它们有平衡组——它们代表一种上下文无关的语言,具有更高的计算能力。)