问题:
看到一个实现对类名字符串进行分割的函数,里面的正则不太理解
代码:
function classes(name) {
return (name + "").trim().split(/^|\s+/);
}
疑惑:
我知道s匹配各种空白字符串(nt)等,那么前面的 ^ 符号是用来匹配字符串的第一个字符,但是组合起来是什么意思?
.split(/\s+/)
即可,^ 是多余的。
竖线 | 表示“或者”
就是两者之一:开头或者空白
^匹配的是字符串的开头
|匹配的是该符号左边或右边的子表达式
s匹配的是一个空白符
+匹配前一项1次或多次
.split(/^|s+/)将字符串按一个或多个空格进行分割成数组