正则
正则就是专门处理字符串的的规则,每一个字符都是由元字符和修饰符组成的。学习正则就是学习如何编写规则。
元字符:斜杠中间的字符称为元字符;特殊元字符如下
- 正则只能用来处理字符串
- 1、用来匹配符合规则的字符串 正则.test(正则) 返回值ture或者false
- 2、用来捕获符合规则的字符串 正则.exec(字符转) 返回一个数组
创建正则的两种方式
- 1、字面量创建:var reg = /w/
- 2、构造函数创建:var reg2 = new RegExp('w')
- 注意:reg === reg2 // false 因为正则是引用数据类型
特殊元字符
- \ : 转义字符
- ():标记一个子表达式的开始和结束位置
- . : 代表所有字符,除了换行
- *:匹配前面的字表达式零次或者多次
- \d : 代表0~9数字
- \D : 除了0~9数字外的所有字符
- \w : 代表数字、字母、下划线
- \W : 除了数字、字母、下划线意外的所有字符
- ^:代表以什么开头
- $:代表以什么结尾
限定符
[abc]
:a或b或c- [0-9]:数字0到9 和\d同义
[a-z0-9]
:小写字母和字母[^a-z]
:取非,除了a-z这些字母- a|b:a或b和[ab]同义
量词
- ?:代表前边的字符出现0~1次 /\d?/数字出现0到1次
- +:代表前边的字符出现1次或者多次
- *:代表前边的字符出现0次到多次
- {n}:代表前面的字符出现n次
- {n,m}:代表前边的字符出现n到m次
- {n,}:代表前边的字符至少出现n次
修饰符
- i:忽略大小写
- m:多行匹配
- g:全局匹配
非打印字符
- \n:匹配一个换行符
- \f:匹配一个换页符
- \r:匹配一个回车符