猿问

新手上路,求讲解一个js的正则表达式求指导!

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

红糖糍粑

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

宝慕林4294392

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

相关分类

JavaScript
我要回答