Javascript正则表达式以逗号分隔行

Javascript正则表达式以逗号分隔行,javascript,regex,Javascript,Regex,我想要一个用于javascript的正则表达式,它应该用逗号分隔行,而不应该在括号内分隔表达式 例如: 到 考虑简化操作: var input = "BuildInFunctions..........."; var parentheses = []; var replaced = input.replace(/\(.*?\)/g,function(m) { parentheses.push(m); return "{{PARENS:"+(parentheses.length-1

我想要一个用于javascript的正则表达式,它应该用逗号分隔行,而不应该在括号内分隔表达式

例如:


考虑简化操作:

var input = "BuildInFunctions...........";
var parentheses = [];
var replaced = input.replace(/\(.*?\)/g,function(m) {
    parentheses.push(m);
    return "{{PARENS:"+(parentheses.length-1)+"}}";
});
var parts = replaced.split(",");
var result = parts.map(function(part) {
    return part.replace(/\{\{PARENS:(\d+)\}\}/g,function(_,i) {return parentheses[i];});
});

总体思路是提取所有括号内的表达式,然后处理拆分,然后将括号内的内容放回。比使用正则表达式一步完成要容易得多(老实说,我不确定这是否可行)

考虑简化操作:

var input = "BuildInFunctions...........";
var parentheses = [];
var replaced = input.replace(/\(.*?\)/g,function(m) {
    parentheses.push(m);
    return "{{PARENS:"+(parentheses.length-1)+"}}";
});
var parts = replaced.split(",");
var result = parts.map(function(part) {
    return part.replace(/\{\{PARENS:(\d+)\}\}/g,function(_,i) {return parentheses[i];});
});

总体思路是提取所有括号内的表达式,然后处理拆分,然后将括号内的内容放回。这比使用正则表达式一步完成要容易得多(老实说,我不确定这是否可行)

此正则表达式将用逗号分隔,括号后面的除外:

/,(?![^(]*\))/m

此正则表达式将用逗号分隔,后面加括号的除外:

/,(?![^(]*\))/m