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

如何正确编写正则表达式?匹配特定格式方括号内容求助

正则表达式匹配含花括号的方括号内容解决方案

需求分析

需要匹配方括号内包含至少一个形如{XX}格式占位符的内容,对应三种模式:

  • [{XX} xxx](占位符在方括号开头)
  • [ xxx {XX} xxx](占位符在方括号中间)
  • [xxx {XX}](占位符在方括号末尾)

原正则问题

你之前使用的\[*(?=\{.*\}]*)([^]]+)\]存在两处问题:

  1. \[*允许匹配0个左方括号,可能错误捕获不含左括号的内容
  2. 正向预查的逻辑不够严谨,没有明确约束花括号必须处于方括号内部范围

修正后的正则表达式

\[(?:[^\]]*\{[^}]+\}[^\]]*)\]

正则逻辑拆解

  • \[:精准匹配左方括号(转义处理元字符)
  • (?:...):非捕获组,用于包裹方括号内的匹配规则,避免产生额外捕获组
  • [^\]]*:匹配0到多个非右方括号的字符,覆盖占位符前后的任意内容
  • \{[^}]+\}:匹配{XX}格式的占位符,[^}]+确保占位符内至少有一个字符
  • [^\]]*:再次匹配0到多个非右方括号的字符,覆盖占位符另一侧的内容
  • \]:精准匹配右方括号

匹配验证

用该正则匹配以下文本时,会精准命中你需要的条目:

[{XX} xxxx] → 匹配成功
[普通无占位符文本] → 匹配失败
[xxx{SSS} xx] → 匹配成功
[abc {123} def] → 匹配成功
[纯文本] → 匹配失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 20:16:06