一、概念
正则表达式是字符串匹配的一种模式
二、使用
进行字符串操作时
三、定义方法
1、显式定义(构造函数)
例:const reg = new RegExp('正则表达式')
2、隐式定义(字面量)
例:const reg1 = /表达式/
四、常用方法
1、test():
概念:正则去匹配字符串,匹配成功返回true,匹配失败返回false
语法:正则.test(字符串)
2、search():正则去匹配字符串,匹配成功返回匹配到字符的索引号,匹配失败返回-1
语法:字符串.search(正则)
3、match():匹配字符串,如果匹配成功,就返回匹配成功的数组,匹配失败null
语法:字符串.match(正则)
4、replace():匹配字符串。匹配成功的字符串被新的字符串替换
语法:字符串.replace(正则,替换的字符)
5、exec类似于march()方法
五、字符
1、普通字符
0~9 a~z这类常见字符
2、元字符
\d:匹配数字,相当于{0-9}
\D:匹配非数字,相当于{^0-9}
\w:匹配字母或数字或汉字或下划线
\W:匹配任意不是字母、数字、汉字、下划线
\s:匹配换行符、空白符、制表符
\S:匹配不是换行符、空白符、制表符
[...]:匹配括号里面的所有字符
.:匹配除了换行符之外的所有字符
3、连接符
-:表示一个范围
例:[0-9] == [0123456789]
[0-9a-zA-Z] == 匹配所有的数字和英文字符
4、限定符
+:重复1次或更多次(大于等于1次)
*:重复0次或更多次
?:重复0次或1次(最多一次)
{n}:重复n次
{n,}:重复n次或更多次
{n,m}:重复n到m次
5、定位符-边界
^:限定开始位置的字符
$:限定结束位置的字符
\b:限定单词边界的字符
\B:限定非单词边界的字符
6、修饰符
g: global 全文搜索,不添加,搜索到第一个匹配停止
i: ignore case 忽略大小写,默认大小写敏感
m: multiple lines 多行搜索
7、特殊转义符
\f:匹配换页符
\n:匹配换行符
\r:匹配回车符
\t:匹配制表符
\v:匹配垂直制表符
\\:匹配\
\":匹配 "
\':匹配 '
\.:表示.
8、或符
|
正则表达式在匹配字符时,默认匹配到第一个字符时就结束,如果想把后面的匹配完,需要加个全文搜索