regex 如何正确编写正则表达式?

k5hmc34c  于 2023-01-21  发布在  其他
关注(0)|答案(1)|浏览(127)

我的目标是在文本中找到具有以下形式的条目
1.[{XX} xxx]
1.[ xxx {XX} xxx]
1.[xxx {XX}]
(with包括括号)xxx是随机值
我试着去做,结果却发生了

\[*(?=\{.*\}]*)([^]]+)\]

但不幸的是它并不是100%正确
已为[{XX} xxxx] [{XX xxx] [10 xxx] [xxx{XXX} xx] {X} io] x1c 0d1x阻止
我希望看到两个选项突出显示:[{XX} xxxx]和[xxx{SSS} xx]

jgwigjjp

jgwigjjp1#

您可以尝试使用以下正则表达式:

\[[^\[]*?\s?{[^{]+}\s?[^\]]*?\]

正则表达式解释:

  • \[:开括号
  • [^\[]*?:非左括号字符的最小数量
  • \s?:可选空格
  • {[^{]+}:大括号之间的最小非左大括号数
  • \s?:可选空格
  • [^\]]*?:非闭括号字符的最小数量
  • \]:闭括号

检查here演示。

相关问题