【发布时间】:2020-07-01 16:58:40
【问题描述】:
我使用(\((?>[^()]|(?R))*\)) 匹配嵌套括号,它匹配以下所有情况:
.select( foo(bar()) )
.select( foo() )
.select().asdf( foo(bar()) )
.asdf( foo() )
.asdf()
https://regex101.com/r/BSy6Zd/1
但是,我只想匹配前三个:仅以“.select”开头/前面的那些。我的想法不是递归 entire 模式,只递归子模式,所以我可以在嵌套括号之前匹配我想要的任何内容。当然,我不能在模式后面放一个lookbehind,因为它不是固定长度的。
有没有办法做到这一点?
【问题讨论】: