正则表达式
1:正则的创建方式?
第一种:通过new关键字创建
var reg=new RegExp();
第二种:字面量创建;
var reg=//;
2.元字符(一)
\d:数字字符’0’~‘9’
\D:非数字字符
\w:数字、字母、下划线字符:即单词字符
\W:非单词字符
\s:空格字符
\S:非空格字符
\b:单词边界
匹配的只是一个位置 这个位置的一侧是构成单词的字符 另一侧为非单词字符 字符串的开始和结束位置
\B:非单词边界
.:表示任意单个字符,除了换行 \n
test() 检索字符串是否符合正则表达式,符合返回true,否则返回false
3.元字符(二)
中括号/方括号:某个指定范围的若干字符
[abcde]:匹配这个集合中的任何一个字符,其中之一
[^abcdef]:不匹配这个集合中的任何一个字符
[0-9]:任意一个数字字符'0'~'9'
[a-z]:任意一个小字字母
[A-Z]:任意一个大字字母
[A-z]:任意一个字母(包括大小写及部分标点[\]_`^)
[选项1 | 选项2 | 选项3]:三个选项其中之一
4.量词:
c表示字符串,m和n表示个数
c+:表示c的个数至少1个
c*:表示c的个数至少0个
c?:表示c的个数是0个或者1个
c{m}:表示c的个数是m个
c{m,n}:表示c的个数是m个~n个范围内
c{m,}:表示c的个数至少m个
c$:表示以c结尾的字符串
^c:表示以c开头的字符串
0(?=c):表示0后紧跟c的字符串
XXX(?!c):表示XXX其后没有紧跟c的字符串
5.修饰符:i、g、m
i:检索时不区分大小写
g: 执行全局检索(检索时,会查找所有匹配的字符串,并不是找到一个就结束查找)在调用特定函数时有效
m:执行多行匹配 加^和$符效果明显
6.字符串对象调用的函数(支持正则)
1)search():搜索,返回第一次搜索到的位置,找不到返回-1,对全局g不敏感
2)match():匹配,返回匹配成功的字符串组成的数组形式,未匹配成功则返回null,以数组的形式返回结果
match函数既可以匹配普通字符串,也可以匹配正则表达式所表示的字符串,对全局g不敏感
3)replace():替换:既可以替换普通字符串,也可以替换正则表达式所表示的字符串,对全局g敏感
4)split():分割:把字符串按指定参数进行拆分,返回拆分后形成的数组,对全局g不敏感
5)exec()函数:找到则返回匹配的文本,若没有匹配到,则返回null。
lastIndex找到元素以后返回他的位置