, :
, , .
var str = "(as(dh(kshd)kj)ad)... ()()",
match = str.match(new RegExp('.*?(?:\\(|\\)).*?', 'g')),
count = match ? match.length : 0;
, . . http://gskinner.com/RegExr/ - .
count .
match , :
["(", "as(", "dh(", "kshd)", "kj)", "ad)", "... (", ")", "(", ")"]
:
var newStr = '', open = 0, close = 0;
for (var n = 0, m = match.length; n < m; n++) {
if (match[n].indexOf('(') !== -1) {
open++;
newStr += match[n];
} else {
if (open > close) newStr += match[n];
close++;
}
if (open === close) break;
}
... newStr (as (dh (kshd) kj) ad)
, , , , .
.