使用正则表达式查找匹配的方括号

2022-03-22 00:00:00 regex php preg-replace

假设我有这个string: "abc{def{ghi{jkl}mno{pqr}st}uvw}xyz"

我想匹配这个:"{def{ghi{jkl}mno{pqr}st}uvw}"

我的正则表达式应该是什么样子..?

换言之,匹配应以"{"开始,以"}"结束,但其间必须有与}一样多的{。


解决方案

我想我在另一个帖子中找到了答案..

"#{((?>[^{}]+)|(?R))*}#x"

我用不同的字符串对其进行了测试,它似乎起到了作用。

对它的工作原理有什么意见吗..?利弊..?

谢谢你的回答。:)

相关文章