js 正则表达式
1.通过new关键字来声明一个正则对象
第一个参数:正则的主体, 字符串
第二个参数 :修饰符 字符串
i 不区分大小写
g 全局匹配
m 换行匹配
2.通过字面量来赋值
var str = /主体/修饰符;
方法
test:
格式:正则对象.test("字符串")
返回值:布尔值
功能:校验字符串是否复合规则
exec:
格式:正则对象.exec("字符串")
功能:在匹配字符串,如果匹配成功,则返回的是一个数组,数组中存放的是第一个符合条件的内容
如果匹配不成功,则返回是null
如果有全局修饰符g,则exec第二次捕获会从第一次捕获的位置开始向后去查找。
直到找不到了,返回null
再次捕获时,则从头开始。
字符串的函数:
1.match()
格式:字符串.match(正则)
功能:在字符串中匹配符合规则的内容
返回值:数组,匹配成功的内容
匹配没有成功,返回null
2.replace()
格式:字符串.replace(oldStr/正则,newStr);
功能:将新的字符替换掉旧的字符
3.split()
格式:字符串.split("分割字符"/正则)
功能:用分隔符将字符串进行分割
返回值:分割后的字符串组成的数组
4.search()
功能:找到符合条件的第一个字符的位置(下标)
格式:字符串.search(字符串/正则)
返回值:找到则返回下标
未找到则返回-1
元字符:
组成正则的基础符号,具有特殊的含义。
. 匹配单个的任意字符
[范围] 匹配单个范围内的字符
[0-9] 匹配一个数字 范围为 0-9
[0-9a-zA-Z_]
[^范围] 匹配任意一个除了范围内的字符
[^0-9] 匹配任意一个非数字的字符 = [0-9]取反
\w 匹配单个的字母,数字和下划线 = [0-9a-zA-Z_]
\W 匹配单个非字母数字下划线
\d 匹配单个数字 = [0-9]
\D 匹配单个非数字 [^0-9]
空白字符
\s 匹配一个任意的空白字符 空格 /n /t
\S 匹配一个任意的非空白字符
锚字符
^ 行首匹配 必须以它后面字符开头
$ 行尾匹配 必须以它后面字符结尾
限定元字符 (x:表示任意的单个字符)
格式:
x? 匹配0个或者1个x
x 匹配至少一个x字符
x* 匹配任意一个x字符
x{m,n} 匹配至少m个字符,最多n个 包含n
x{m} 匹配m个字符
x{m,} 匹配m个--多个
() 小括号括起来的字符串会被当成一个字符去处理
I 类似或
修饰符:
i 不区分大小写
g 全文检索
m 换行匹配
在字符串中,如果换行,重新计算行首
补充:
trim() 去除字符串首尾的空格,返回值:去除后的字符串,不会对原有的字符串造成影响