Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用条件拆分JavaScript字符串_Javascript_Regex_Split - Fatal编程技术网

使用条件拆分JavaScript字符串

使用条件拆分JavaScript字符串,javascript,regex,split,Javascript,Regex,Split,在JavaScript中,我可以使用split通过逗号(,)分隔字符串。我的字符串如下: "Hojas, DNI, Factura {Con N° de O/C impresa, otra cosa}, Pasaporte, Permiso" 结果应该是: ["Hojas", "DNI", "Factura {Con N° de O/C impresa, otra cosa}", "Pasaporte", "Permiso"] 我试着做到以下几点: "Hojas, DNI, Fact

在JavaScript中,我可以使用split通过逗号(,)分隔字符串。我的字符串如下:

"Hojas, DNI, Factura {Con N° de O/C impresa, otra cosa}, Pasaporte, Permiso"    
结果应该是:

["Hojas", "DNI", "Factura {Con N° de O/C impresa, otra cosa}", "Pasaporte", "Permiso"]
我试着做到以下几点:

"Hojas, DNI, Factura {Con N° de O/C impresa, otra cosa}, Pasaporte, Permiso".split(/,\s+(.+\s{.+})?/g)

但是我得到了以下结果:
[“Hojas”,“DNI,Factura{Con N°de O/C impresa,otra cosa}”,“undefined”,“Pasaporte”,undefined,“Permiso”]
假设没有不成对或嵌套的
{}/code>,您可以使用
(?![^{}]*})
向前看,确保逗号后没有结束符
}

\s*,\s*(?![^{}]*})

还有一个片段:

var re=/\s*,\s*(?![^{}]*})/g;
var str='Hojas,DNI,Factura{Con N°de O/C impresa,otra cosa},Pasaporte,Permiso';
var res=str.split(re);

对于(var i=0;i,请查找以下代码片段:

var arr = "Hojas, DNI, Factura {Con N° de O/C impresa, otra cosa}, Pasaporte, Permiso".split(/\s*,\s*(?![^{}]*})/g);
console.log(arr);

Factura{Con N°de O/C impresa,otra cosa}
应该是一个元素,但是您的代码two@Grundy:谢谢,我也改正了。