<p>这个正则表达式只使用普通的文本括号(),[],{}<br/>
您可以添加自己的,只需复制一个块,粘贴它并更改分隔符<br/>
你想要的括号。注意递归组。<br/>
在排除列表中添加前导括号。<br/>
另外请注意,结尾处有一个下降通道<code>[\S\s]</code>,用于拾取任何迷路的物体</p>
<p><strong><em>更新</em></strong>添加了所有括号类型(来自评论)</p>
<p><code>/(?:[^\(\[{〈【〔([]+|(?:(\((?>[^()]++|(?1))*\))|({(?>[^{}]++|(?2))*})|(\[(?>[^\[\]]++|(?3))*\])|(〈(?>[^〈〉]++|(?4))*〉)|(【(?>[^【】]++|(?5))*】)|(〔(?>[^〔〕]++|(?6))*〕)|(((?>[^()]++|(?7))*))|([(?>[^[]]++|(?8))*]))(*SKIP)(*FAIL)|[\S\s])/</code><br/>
<a href="https://regex101.com/r/LUXJVu/1" rel="nofollow noreferrer">https://regex101.com/r/LUXJVu/1</a></p>
<pre><code> (?:
[^\(\[{〈【〔([]+
|
(?:
( # (1 start), Left/Right parenthesis
\(
(?>
[^()]++
| (?1)
)*
\)
) # (1 end)
|
( # (2 start), Left/Right curly bracket
{
(?>
[^{}]++
| (?2)
)*
}
) # (2 end)
|
( # (3 start), Left/Right square bracket
\[
(?>
[^\[\]]++
| (?3)
)*
\]
) # (3 end)
|
( # (4 start), Left/Right angle bracket
〈
(?>
[^〈〉]++
| (?4)
)*
〉
) # (4 end)
|
( # (5 start), Left/Right black lenticular bracket
【
(?>
[^【】]++
| (?5)
)*
】
) # (5 end)
|
( # (6 start), Left/Right tortoise bracket
〔
(?>
[^〔〕]++
| (?6)
)*
〕
) # (6 end)
|
( # (7 start), Left/Right fullwidth parenthesis
(
(?>
[^()]++
| (?7)
)*
)
) # (7 end)
|
( # (8 start), Left/Right fullwidth square bracket
[
(?>
[^[]]++
| (?8)
)*
]
) # (8 end)
)
(*SKIP) (*FAIL)
|
[\S\s]
)
</code></pre>