![](/img/trans.png)
[英]RegEx expression to split a string on comma with a condition in JavaScript
[英]Javascript Regex to split line by comma
我想要javascript的正则表达式,应该用逗号分隔行,而不应该将方括号内的表达式分隔
例如:
BuiltInFunctions.REPLACE_FIRST,Type.STRING, Type.STRING, 2, getArgTypeIns(Type.STRING, Type.STRING, Type.BOOLEAN)
至
BuiltInFunctions.REPLACE_FIRST
Type.STRING
Type.STRING
2
getArgTypeIns(Type.STRING, Type.STRING, Type.BOOLEAN)
考虑简化您的操作:
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];});
});
一般的想法是提取所有带括号的表达式,然后处理拆分,然后放回带括号的内容。这比尝试用正则表达式一步来做要容易得多(老实说,我不确定这是可能的)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.