使用正则表达式捕获用逗号分隔的字符串中带引号的字符串

时间:2019-03-20 17:09:34

标签: javascript regex

我正在尝试用双引号将所有字符串匹配,并用逗号分隔 例如在示例字符串中

"COUNT","count(1)","crmuser.accounts"

我要匹配

COUNT
count(1)
crmuser.accounts

正则表达式(?<=").*?(?=")也与逗号分隔符匹配,这不是必需的。如何排除字符串中的逗号。

2 个答案:

答案 0 :(得分:1)

您可以使用几种不同的解决方法;例如使用第四只鸟的注释中建议的捕获组。但是对我个人而言,我尽量避免使用.*

对于这种类型的示例,我真诚地建议您仅使用将使用的有效字符的字符集,并查找多个字符(2个或更多),因为您将有效地跳过单独的分隔符例如单个,。您甚至可以在该字符集中添加一个逗号,它仍然可以使用。

(?<=")[\w\(\)\.,]{2,}(?=")

Demo

答案 1 :(得分:0)

对于这种字符串格式,您可以使用:

var str = '"COUNT","count(1)","crmuser.accounts"' ;
var separated = str.split('","') ;
for(var i in separated){
     i.replace('"','') ;
} ;