急求!!!!求讲解一个js的正则表达式万分感谢

最近在看JavaScript高级程序设计第三版,看到一个示例不是很明白
varcolorText="red,blue,green,yellow";
varcolors3=colorText.split(/[^\,]+/);
结果color3是
["",",",",",",",""]
正则表达式[^\,]的意思是说不接受逗号么?不明白为什么会出这样一个结果
慕姐4208626
浏览 303回答 2
2回答

幕布斯7119047

这个表达式的意思是,除了,以外的任意字符[^\,]其中的^意思就是取反正则默认是贪婪模式,所以会尽可能多的匹配,所以会把red这类的字符串整体删掉

POPMUISE

点击查看[^,]+匹配的是1个及以上的非逗号,而split(/[^,]+/)的意思就是以这些匹配到的非逗号字符串为分隔符,所以结果正好是空字符和逗号
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript