正则表达式又称规则表达式。通常用来检索、替换那些符合某个模式的文本,正则表达式是操作字符串的。
正则的写法:
1、var re = /a/;在正则中的字符串不需要添加引号。
2、var re = new RegExp(‘a’);这种写法字符串需要加引号,同时正则表达式在传参时需要用这种方式。
可以操作的正则方法
:6种
字符串:match()、search()、replace()、split()
正则:test()、exec()
text()方法:判断真假值,如果字符串满足正则的规则那么返回true, 如果不满足就返回false。
写法:正则.test(字符串)
search()方法:正则去匹配字符串,如果匹配到返回匹配的位置,如果没有匹配到就返回-1.。
写法:字符串.search(正则)
match()方法:正则去字符串中匹配,把匹配到的结果返回一个数组,如果匹配不到就返回null。
写法:字符串.match(正则)
exec()方法:返回数组,匹配不到就返回null,不支持g修饰符
写法:正则.exec(字符串)
replace():正则去匹配字符串,把匹配到的结果替换成指定的新字符。
写法:字符串.replace(正则,新的字符)
第二个参数可以是字符串,也可以是一个回调函数,回调函数的第一个参数:就是当前匹配到的结果(整体), 后面的参数为子项
修饰符:
i修饰符就是不区分大小写。
g修饰符代表全局匹配。
y修饰符:匹配起始位置。
m修饰符:表示匹配多行。
():子项、分组
[ ]:字符范围
{ }:量词
*量词:匹配1次或1次以上
+量词:匹配0次或0次以上
?量词:匹配0次或1次
^表示起始 $表示结束
转移字符是通过\来实现的
\d: 数字0-9
\D:非数字
\s:空格
\S:非空格
\w:字符(字母a-z 数字0-9 下划线)
\b:端点
\B:非端点