最近在看JavaScript高级程序设计第三版,看到一个示例不是很明白varcolorText="red,blue,green,yellow";varcolors3=colorText.split(/[^\,]+/);结果color3是["",",",",",",",""]正则表达式[^\,]的意思是说不接受逗号么?不明白为什么会出这样一个结果
2 回答
幕布斯7119047
TA贡献1794条经验 获得超8个赞
这个表达式的意思是,除了,以外的任意字符[^\,]其中的^意思就是取反正则默认是贪婪模式,所以会尽可能多的匹配,所以会把red这类的字符串整体删掉
POPMUISE
TA贡献1765条经验 获得超5个赞
点击查看[^,]+匹配的是1个及以上的非逗号,而split(/[^,]+/)的意思就是以这些匹配到的非逗号字符串为分隔符,所以结果正好是空字符和逗号
添加回答
举报
0/150
提交
取消