Javascript正则表达式以逗号分隔行
我想要一个用于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
考虑简化操作:
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