标签: java regex
我找到了一些正则表达式来匹配括号内的文本块。但是,如果我有一些嵌套括号的字符串,我只想要它的最外部部分。
例如。 "foo bar [first [second] [third]] asdf ]]]]"
"foo bar [first [second] [third]] asdf ]]]]"
我希望能够匹配第一个开口括号和它的右括号之间的文本,使所有内容完好无损。
结果将是:"[first [second] [third]]"
"[first [second] [third]]"
答案 0 :(得分:2)
经典递归问题(如果支持递归):
\[(?:[^][]*|(?R))*\]
请参阅a demo on regex101.com。