我正在尝试找到一个与可能包含其他brakets的brakets相匹配的正则表达式。
示例:
Match1(Match2())
我希望输出为:
匹配1:
$ 0 => 'Match1(Match2())'
$ 1 => 'Match1'
$ 2 => 'MATCH2()'
MATCH2:
$ 0 => 'Match2()'
$ 1 => 'Match2'
$ 2 => ''
有没有办法完成它,例如\w+\(.*?\)
答案 0 :(得分:0)
PCRE模式(([^()]+)\(((?R)?)\))
与您的输入匹配,如下所示:
Match1(Match2())
Match1
Match2()
注意:Python的正则表达式模块,Perl,.NET,Ruby 2.0和PHP支持递归模式。其他流行的语言,如JavaScript,Ruby< 1.9和Java则没有。请参阅:https://www.regular-expressions.info/recurse.html