Javascript 使用逗号和冒号拆分字符串

Javascript 使用逗号和冒号拆分字符串,javascript,regex,split,Javascript,Regex,Split,我有一个字符串,如下所示: var字符串=“xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:一些不带逗号的字符串,xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx:一些字符串,xxxxxxxx-xxxx-xxxx-xxxx-xxxx:一些不带逗号的字符串,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxx:一些带逗号的字符串,xxxxxxxxxxxxxxxx-xxxx-x

我有一个字符串,如下所示:

var字符串=“xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:一些不带逗号的字符串,xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx:一些字符串,xxxxxxxx-xxxx-xxxx-xxxx-xxxx:一些不带逗号的字符串,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxx:一些带逗号的字符串,xxxxxxxxxxxxxxxx-xxxx-xxxx-xxxxxxxx:字符串,用逗号“

其中,
xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
表示一个字母数字生成的Id,冒号后是一个与该Id相关的字符串。该字符串可以是带逗号的字符串,也可以是不带逗号的字符串。我想要的是拆分该字符串,以便得到一个Id为其对应字符串的数组,如下所示

[“xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:一些不带逗号的字符串”,“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:一些带逗号的字符串”,“xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:一些不带逗号的字符串”,
“xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:一些字符串,带逗号”,“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx-xxxxxxxxxxxxxxxx:string,带逗号”]

我是如何做到这一点的

我使用了javascript split函数,其中我用逗号分割字符串,后跟36个字符(用于ID)和冒号

String.split(/,(?=.{36}:)/);
PS:我很抱歉,因为之前我没能以正确的方式提问。希望这次大家能理解。

你可以用逗号和数字和冒号的先行词

String.split(/,(?=.{36}:)/);
var x=“123456:a,b,c,435213:r,567876:e,363464:t,y,u”;
数组=x.split(/,(?=\d+:)/);
console.log(array);
您可以使用该方法。我使用“$”作为拆分符号,而不是“,”,因为我认为您希望保留它们

var values=“123456:a,b,c$435213:r$567876:e$363464:t,y,u”。拆分($”;
var x=值[0];

console.log(values)
请添加一个有效的结果。是否可以使用javascript?是的。您可以共享您尝试过的内容吗?@Rajesh我尝试使用.split(/:,/)”。但是没有获得正确的结果,请在问题中共享它使用
s.match(/\b\w{6}:(?:(?!\b\w{6}:)*/g)
s.split(/,(?=\b\w{6}:)/)
您的答案是正确的,但如何检测字母数字而不是数字?什么是“冒号后最后出现的逗号”的正则表达式,并使用最后一个逗号将其拆分。我发现最后出现的逗号使用“(?=[^,]*$”,但如何在此处使用它?它不以这种方式工作。您必须查看下一步是什么,而不是如果它是最后一个。