正则表达式概念
1. 用来验证字符串是否符合规则
2. 从字符串中获取一部分符合规则的内容
创建正则对象
- 通过new关键字来声明一个正则对象
- 第一个参数:正则的主体, 字符串
- 第二个参数 :修饰符 字符串
- i 不区分大小写
- g 全局匹配
- m 换行匹配
var str = new RegExp("hello","ig");
2. 字面量创建
var str = /are/i;
正则常用方法
test()
返回值:布尔值
功能:校验字符串是否复合规则
var str = 'Hellohello word';
var reg=/hello/ig;
alert(reg.test(str));
exec()
返回值;匹配成功的元素,类型为对象。
功能:在匹配字符串,如果匹配成功,则返回的是一个数组,数组中存放的是第一个符合条件的内容。
如果匹配不成功,则返回是null。
如果有全局修饰符g,则exec第二次捕获会从第一次捕获的位置开始向后去查找,直到找不到了,返回null,再次捕获时,则从头开始。
var str = 'Hellohello word';
var reg=/hello/ig;
console.log(reg.exec(str),reg.exec(str),reg.exec(str))
字符串的函数:
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 不区分大小写
g 全文检索
m 换行匹配
在字符串中,如果换行,重新计算行首
补充:
trim() 去除字符串首尾的空格,返回值:去除后的字符串,不会对原有的字符串造成影响
-->