regex 如何修改此正则表达式以允许嵌套括号[重复]

yzuktlbb  于 2023-05-08  发布在  其他
关注(0)|答案(1)|浏览(150)

此问题已在此处有答案

How can I match nested brackets using regex?(4个答案)
8年前关闭。
我的正则表达式现在允许spin语法{spin 1|自旋2}

$customContent = preg_replace('/(\{)(.*?)(})/', '{#'.$index.'#}', $customContent, 1);

我希望允许无限嵌套括号{ {spin 1| spin2} {blabla1| blabla2} }
你能帮我修改一下这个正则表达式吗?
我尝试了下面的解决方案。没有一个成功。

/{([^{}]*)}/

/(?<={)[^}]*(?=})/

/(\{(?:\{.*\}|[^\{])*\})/m

/\{(((?>[^\{\}]+)|(?R))*)\}/x

/\{.*?\}/i
vh0rcniy

vh0rcniy1#

无限嵌套括号,具有无限深度,不为空内容:(JS语法)

/(\s*\{[^\{\}]+\}\s*)+/g

DEMO

  • 编辑--
    你是这个意思吗
/[^{}]*{\s*([^{}]+)?}?\s*[^{}]*/g

DEMO

相关问题