我有文本框,用户编写了一个公式,我从文本框中获取了拆分括号的文本。通过这种方式,我不尝试计算公式,而是尝试仅获取字符串。我试图从嵌套括号中获取字符串。我的代码:
var txt = "((a-b)/month)/(c+d)";
var reg = /^\((.+)\)$/;
var newTxt = txt.split('(');
for (var i = 1; i < newTxt.length; i++) {
var value = newTxt[i].split(')')[0];
if (value == "") {
value = txt.match(reg)[1];
}
console.log(value);
}
我的输出是
(a-b)/month)/(c+d
a-b
c+d
但是我正在尝试在括号之间获取字符串
(a-b)/month
a-b
c+d
最佳答案
这是另一种方式
var a = [], r = [];
var txt = "(((a-b)+(f-g))/month)/(c+d)";
for(var i=0; i < txt.length; i++){
if(txt.charAt(i) == '('){
a.push(i);
}
if(txt.charAt(i) == ')'){
r.push(txt.substring(a.pop()+1,i));
}
}
alert(r);
关于javascript - 嵌套括号一一对应地得到字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30508419/