c# - 正则表达式匹配括号和大括号

标签 c# regex .net-4.0

这个问题在这里已经有了答案:





Using RegEx to balance match parenthesis

(4 个回答)


7年前关闭。




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

例子 :

"{ ([Approver] is_empty) }"



匹配 {, (, ) 和 }

"{ ([Appro(ver] equals 'B}r' ) }"



仍然匹配 {, (, ) 和 }

我已经完成了匹配所有括号 和大括号的正则表达式,但我不能再进一步了
@"[\{\}\(\)]"

最佳答案

我建议只读取字符串,并使用两个 bool 值,设置为 false squareBrackets 和 false 引号,然后,开始读取字符串,如果找到 '[',则将 squareBrackets 设置为 true,如果找到 '] ',再次设置为 false,与引号相同,然后,在 squareBrackets != true 和引号 != true 时只得到 {、}、( 和 )

我希望这会有所帮助;D

bool squareBrackets = false;
bool quotes = false;

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

关于c# - 正则表达式匹配括号和大括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21990524/

相关文章:

c# - 如何使用 Xamarin Android 在编辑文本上实现 TextWatcher 接口(interface)?

javascript - 检查用户名中包含的特定密码文本模式以进行 javascript 表单验证

java - 分割一个悬空元字符,java?

c# - CLR 中的托管堆

c# - 是否可以在 .NET 4.0 框架上使用 TLS1.2 发送 HttpWebRequest

c# - 如何刷新DataGridView单元格样式

c# - Microsoft.Phone.ni.dll 中发生类型为 'System.UnauthorizedAccessException' 的第一次机会异常

sql-server - 从 SQL 中的字符串中删除 SSN(社会安全号码)

.net - 在没有 Visual Studio 2010 的情况下安装 MSBuild 4.0

c# - 是否可以将其重构为单一方法