我需要一個正則表達式來查找所有起始大括號的末尾大括號。 假設正則表達式查找所有起始大括號的末尾大括號
([(([[(([]))]]))]) -- 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