You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术求助:修正匹配深度1-5的平衡括号正则表达式

修正后的正则表达式方案

原正则的问题

  1. 包含[^()]规则,允许非括号字符,会错误匹配(x)这类不符合要求的字符串
  2. 结构逻辑错误,无法精准控制括号嵌套深度,且{0,5}允许空字符串,违反“深度≥1”的要求
  3. 未严格保证括号完全平衡,可能匹配到不平衡的括号组合

修正后的正则

pattern = r'^(?:\((?:(?:\((?:(?:\((?:(?:\((?:\(\))*\))*\))*\))*\))|\))*\))+$'

规则说明

  • ^ 和 $ 锁定字符串首尾,确保全串校验
  • 分层嵌套结构限制最大嵌套深度为5层,每层仅允许平衡的括号组合,禁止非括号字符
  • + 确保字符串至少包含一组平衡括号,满足深度≥1的要求

验证结果

  • 匹配示例:()()()、((((()))))、(()((()))())
  • 不匹配示例:())()、(((((())))))、(x)

内容的提问来源于stack exchange,提问作者phuck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 16:07:49