Javascript 如何替换“1”之外字符串的子字符串&引用;
我有一个字符串,比如:Javascript 如何替换“1”之外字符串的子字符串&引用;,javascript,regex,Javascript,Regex,我有一个字符串,比如: 'a, b, "c,d" e, f,' 我想使用逗号字符作为分隔符拆分字符串,但不在括号内。我的结果对象集应包含以下元素: a b "c,d" e f 我怎样才能做到这一点 s = 'a, b, "c,d" e, f,'; console.log(s.match(/("[^"]+"|[^,])+/g)); 产生['a','b','c,d'e','f'],其中有额外的空格,但您可以修剪它们 编辑:错过了e。。。现在修好了 说明: (A | B)+更喜欢A(它是一个带
'a, b, "c,d" e, f,'
我想使用逗号字符作为分隔符拆分字符串,但不在括号内。我的结果对象集应包含以下元素:
a
b
"c,d" e
f
我怎样才能做到这一点
s = 'a, b, "c,d" e, f,';
console.log(s.match(/("[^"]+"|[^,])+/g));
产生['a','b','c,d'e','f']
,其中有额外的空格,但您可以修剪它们
编辑:错过了e
。。。现在修好了
说明:
更喜欢(A | B)+
(它是一个带引号的字符串)而不是B,后者是字符串中不带引号的部分。它匹配A
,然后因为“c,d”
它继续匹配+
e
匹配一个“[^”]+”
,后跟所有非“
,后跟一个”
“
匹配任何非[^,]
“
使全局(匹配所有匹配项,而不仅仅是第一个)/regex/g
['a','b','c,d'e','f']
,其中有额外的空格,但您可以修剪它们
编辑:错过了e
…现在已修复
说明:
更喜欢(A | B)+
(它是一个带引号的字符串)而不是B,后者是字符串的非带引号的部分。它匹配A
,然后因为“c,d”
它继续匹配+
e
匹配一个“[^”]+”
,后跟所有非“
,后跟一个”
“
匹配任何非[^,]
“
使全局(匹配所有匹配项,而不仅仅是第一个)/regex/g