正则表达式
-
1、什么是正则表达式:
- 能让计算机读懂的字符串匹配规则。
-
2、正则表达式的写法:
- var re=new RegExp('规则', '可选参数');
- var re=/规则/参数;
-
3、规则中的字符
-
1)普通字符匹配:
- 如:/a/ 匹配字符 ‘a’,/a,b/ 匹配字符 ‘a,b’
-
2)转义字符匹配:
-
\d
: 匹配一个数字,即0-9 -
\D
: 匹配一个非数字,即除了0-9 -
\w
: 匹配一个单词字符(字母、数字、下划线) -
\W
: 匹配任何非单词字符。等价于[^A-Za-z0-9_] -
\s
: 匹配一个空白符 -
\S
: 匹配一个非空白符 -
\b
: 匹配单词边界 -
\B
: 匹配非单词边界 -
.
: 匹配一个任意字符,除了换行符‘\n’和回车符‘\r’ -
\1
: 重复子项
-
-
-
4、量词:对左边的匹配字符定义个数
-
?
: 出现零次或一次(最多出现一次) -
+
: 出现一次或多次(至少出现一次) -
*
: 出现零次或多次(任意次) -
{n}
: 出现n次 -
{n,m}
: 出现n到m次 -
{n,}
: 至少出现n次
-
-
5、任意一个或者范围
-
[abc123]
: 匹配‘abc123’中的任意一个字符 -
[a-z0-9]
: 匹配a到z或者0到9中的任意一个字符
-
-
6、限制开头结尾
-
^
: 以紧挨的元素开头 -
$
: 以紧挨的元素结尾
-
-
7、修饰参数:
-
g
: global,全文搜索,默认搜索到第一个结果接停止 -
i
: ingore case,忽略大小写,默认大小写敏感 -
m
: multiple lines,多行搜索(更改^ 和$的含义,使它们分别在任意一行对待行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配)
-
-
8、常用函数
- 1、test : 正则.test(字符串) 匹配成功,就返回真,否则就返回假
- 2、search : 字符串.search(正则) 匹配成功,返回位置,否则返回-1
- 3、match : 字符串.match(正则);匹配成功,就返回匹配成功的数组,否则就返回null
- 4、replace : 字符串.replace(正则,新的字符串) 匹配成功的字符去替换新的字符
正则默认规则 : 匹配成功就结束,不会继续匹配,区分大小写