前端源码里的那些正则

   通读了一遍老姚的《JavaScript 正则表达式迷你书》个人收获极多。
   忽想到之前学源码时,那些晦涩难懂的正则表达式,或者防不胜防的『骚操作』,我遂决定将其摘出,细细品味。

jQuery

1. 驼峰命名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var camelizeRE = /-(\w)/g;
var camelize = cached(function (str) {
return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })
});

/* cached为缓存函数,可忽略,核心代码修改如下 */

var camelizeRE = /-(\w)/g;
var camelize = function (str) {
return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })
}

/*
* ① camelizeRE正则捕获所有连字符[-]后的首个元素
* ② _ 为符合正则的部分,c为正则$1[第一个括号包裹的内容]捕获到的元素,即我们的目标子符
* ③ 若该字符存在,则大写
*/