我需要一个正则表达式来查找所有起始大括号的末尾大括号。 假设正则表达式查找所有起始大括号的末尾大括号
([(([[(([]))]]))]) -- this one will return true. but
[](()()[[]])[][[([]) --- this one will return false
对于这一点,我已经试过如下: -
function check($str) {
$output = "";
$pattern = "/(\{[^}]*)([^{]*\})/im";
preg_match($pattern, $str, $match);
print_r($match[0]);
}
assert(check("[](()()[[]])[][[([])") === FALSE);
任何帮助,请...
标准定期EXPRES sions不能这样做,因为他们不能计数或递归。 Perl有一个递归扩展,可以做到这一点,但PHP使用PCRE,而不是。 – Barmar
如果我理解的很好,如果括号不平衡,你想获得假?应该')('返回'true'? –
[正则表达式匹配嵌套大括号]可能的重复(http://stackoverflow.com/questions/2778532/regular-expression-to-match-nested-braces) – Barmar