检测匹配的括号

Detect matching parentheses

本文关键字:检测      更新时间:2023-09-26

有没有一种简单的方法来检测字符串是否具有以下三种组合中的任何一种?

...( ... ) ...
...[ ... ] ...
...< ... > ...

即,它是否包含一对匹配的括号、方括号或尖括号?我可以将其作为 3 个单独的正则表达式语句。 可以减少到一个吗?

/'([^[']<>]*')|'[[^()<>]']*|'<[^[']()]*'>/.test(str);

以更简单的方式查看:

/
    '(
        [
            ^[']<>
        ]*
')
|
'[
    [
        ^()<>
    ]
']*
|
'<
    [
        ^[']()
    ]*
'>
/