1、什么是正则正则表达式
正则 :也叫作规则,让计算机可以读懂人类的规则,通常都是用来操做字符串的函数
2、正则的写法性能
var re = //; // 简写 简写比全称性能好spa
var re = new RegExp(); // 全称 注意:当正则须要传参的时候,必定要用全称的写法字符串
3、正则中的默认回调函数
一、正则中的默认 : 区分大小写test
若是不区分大小写的话 : 在正则的最后加标识i方法
var re = //i;计算机
var re = new RegExp('','i');集合
二、正则中的默认 : 正则匹配成功就会结束,不会继续匹配
若是想所有查找 : 就要加标识 g(全局匹配)
var re = //g;
4、正则中的量词
一、量词的概念 : 匹配不肯定的位置,通常用{}来表明
二、{n,m}; // 最少出现n次,最多出现m次
三、{n,}; // 最少出现n次
四、{n}; // 正好出现n次
五、+ 至关于 {1,} // 最少出现1次
六、?至关于 {0,1} // 出现0次,或者1次
七、* 至关于 {0,} // 至少出现0次
八、^ // 若是 ^ 放在正则的最开始位置,就表明起始的意思
九、$ // 若是 $ 放在正则的最后位置,就表明起始的意思
3、正则的经常使用方法
一、test : 正则去匹配字符串,若是匹配成功就返回真,若是匹配失败就返回假(通常用以作判断的)。—> 返回Boolean类型
test的写法 : 正则.test(字符串);
二、search : 正则去匹配字符串,若是匹配成功就返回匹配成功的位置,若是匹配失败就返回-1 —> 返回Number类型
search的写法 : 字符串.search(正则);
三、match : 正则去匹配字符串,若是匹配成功就返回匹配成功的数字,若是匹配失败就返回null —> 返回Object类型(Array)
match的写法 : 字符串.match(正则);
四、replace : 正则去匹配字符串,匹配成功的字符去替换成新的字符串 —> 返回String类型
replace的写法 : 字符串.replace(正则,新的字符串);
注意:replace 的第二个参数 : 能够是字符串,也能够是一个回调函数,这个回调函数里面的的第一个参数,就是匹配成功的字符
4、匹配子项
一、匹配子项是由小括号来表明的。(小括号还有分组操做的意思)
二、写法 : var re = /(正则第一项)(第二项)(第三项)/;
三、replace : replace的第二个参数若是是一个回调函数的话,那么这个函数的第一个参数是:当前正则的总体;第二个参数是:正则总体的第一项,第三个参数是正则总体的第二项....以此类推
四、match : 只有当match不加全局匹配g的时候,才能够获取到子项的集合
5、正则中经常使用到的转义字符
. 任意字符 (在正则中的"."表明的是任意字符,而在正则中真正的"."的输写格式是"\.")
\s 空格
\S 非空格
\d 数字
\D 非数字
\w 字符 ( 字母,数字,下划线_ 都是字符)
\W 非字符 ( 特殊字符,汉字等都是非字符)
\b 独立的部分 (起始,结束,空格)
\B 非独立的部分
\1 重复的第一个子项
\2 重复的第二个子项
……
6、正则表达式字符类
一、字符类 : 一组类似的元素,用[]来表示,中括号的总体表明一个字符
写法 : var re = /a[bcd]e/;
二、排除 : 若是 ^ 写在[]里面的话,就表明排除的意思;若是 ^ 放在正则的最开始位置,就表明起始的意思
写法 : var re = /a[^bcd]e/;
三、范围 : 在[]里面写匹配的范围,如a-z表明的是字母a一直到字母z的26个字母 写法 : var re = /a[a-z]b/;