正则
正则就是专门处理字符串的的规则,每个字符都是由元字符和修饰符组成的。学习正则就是学习如何编写规则。数组
元字符:斜杠中间的字符称为元字符;特殊元字符以下markdown
- 正则只能用来处理字符串
- 一、用来匹配符合规则的字符串 正则.test(正则) 返回值ture或者false
- 二、用来捕获符合规则的字符串 正则.exec(字符转) 返回一个数组
建立正则的两种方式
- 一、字面量建立:var reg = /w/
- 二、构造函数建立: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次
修饰符
非打印字符
- \n:匹配一个换行符
- \f:匹配一个换页符
- \r:匹配一个回车符