簡體   English   中英

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];});
});

一般的想法是提取所有帶括號的表達式,然后處理拆分,然后放回帶括號的內容。這比嘗試用正則表達式一步來做要容易得多(老實說,我不確定這是可能的)

此正則表達式將以逗號分隔,但后跟方括號:

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

DEMO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM