colors3=colorText.split(/[^\,]+/)
麻烦解释一下split(/[^\,]+/)
括号里的一串是啥意思?
先看下效果
var colorText = "color:white,red,\\xx\\y";
colorText.split(/[^\,]+/)
//结果
//["", ",", ",", ""]
这个split
函数里面的正则表达式的意思是非,
的情况,
即除了,
之外的“字符”;
那么split
就会把“字符”当作切分字符串的标记,那么剩下的自然是,
啦,
至于为什么会有两头的空字符呢
就好像从字符串的中间位置切开,应该还剩下两端这种感觉。
总结,
1.这个/[^\,]+/
正则表达式和/[^,]+/
效果一致的
2.如果不要切分结果两端的空格,应该这么做
参考文档
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split
1 表示从逗号开始匹配,+ 代表,包含逗号的意思(+...) 所以这个意思是colortext遇到逗号后就分组,分成一个数组。
- , ↩
括号里是正则。
以多个非逗号的字符进行分割