我试图在字符串中找到类似数组的事件。
例如本文
Ut ac nisi eget est tempus mattis。 Sed et dapibus lorem。 Suspendisse laoreet ante arcu,sed ornare a(diam)[test] ornare eget。 Nunc a(pulvinar)[anoter] [test] porttitor accumsan。 Donec quis accumsan enim.Ut sed sem posuere, a(pharetra)[另一个[嵌套] [a(测试)]] sapien a,molestie odio。 Donec euismod,lectus et sollicitudin condimentum,felis dolor feugiat arcu
我想匹配粗体部分。
我到目前为止:
\a\((.*?)\)(\[.*?])+
这匹配前两个,但最后一个测试缺少最后一个结束括号。(如果我再次嵌套2个右括号将丢失)
结果:
a(diam)[test]
a(pulvinar)[anoter][test]
a(pharetra)[another[nested][a(test)] <--- last closing bracket missing.
任何帮助?
答案 0 :(得分:1)
如何将嵌套结构嵌入正则表达式中,如下所示:
a\(\w+\)(\[.+?(\[.+\])*\])+
---------
embeded nesting
(a\(\w+\)(?:\[.+?(?:\[.+\])*\])+)
添加了非捕获符号以缓解“未定义”捕获。