Javascript 在多个括号之间提取文本
我有以下变量:Javascript 在多个括号之间提取文本,javascript,Javascript,我有以下变量: let x = '5(2+1(3(4-1))'; let y = []; 我需要提取()和之间的任何字符串,并将推送到数组以进行如下输出: console.log(y); // Array should be y[4-1,3,2+1,5] 如何解决这个问题?这可以通过递归应用正则表达式获取并替换最里面的()对,直到只剩下最后5对,或者通过构建真正的解析器来实现 根据输入的外观,regex可能无法工作 但是不存在简单的解决方案,这将取决于您可能获得的格式。尝试使用此正则表达式
let x = '5(2+1(3(4-1))';
let y = [];
我需要提取()
和之间的任何字符串,并将推送到数组以进行如下输出:
console.log(y); // Array should be y[4-1,3,2+1,5]
如何解决这个问题?这可以通过递归应用正则表达式获取并替换最里面的()对,直到只剩下最后5对,或者通过构建真正的解析器来实现
根据输入的外观,regex可能无法工作
但是不存在简单的解决方案,这将取决于您可能获得的格式。尝试使用此正则表达式
x='5(2+1(3(4-1));
设y=[];
设regex=/\(?(\d+([+-]\d+))/gm;
让我
while((m=regex.exec(x))!==null){
y、 推送(m[1])
}
y=y.反向()
console.log(y)
使用RDP:解析带括号的算术表达式:鉴于展平结构不代表原始表达式的嵌套或它们之间的任何关系,您不妨使用x.split(/\(|\)/g)