一、正则
正则的概念
正则是处理字符串的一种规则。
处理过程
1.正则匹配:验证当前字符串是否含有符合该规则的子串
2.正则捕获:获取到符合规则的字符串
二、元字符
即 / 里面的符号 /
特殊元字符
- \d 匹配 0~9之间任意一个数字
- \D 匹配 非0~9之间的任意字符
- \w 匹配 字母、数字或下划线
- \W 匹配 非字母、数字或下划线
- \s 匹配 任意一个空白字符(包括制表符)
- \b 匹配 边界符
- \n 匹配 一个换行符
- \ 转义字符
- . 表示出了\n之外的任意字符
- \. 只表示一个小数点
- ^ 以某个字符开头
- a|b 表示a或者b的任意一个
- [123] 表示1或者2或者3的任意一个
- [^abc] 表示除了a b c 之外的任意一个字符
- [a-z] 表示a-z之间的任意一个字符
- [0-9] 表示0-9之间任意一个数字,等价于 \d
- [a-zA-Z0-9_] 匹配 字母、数字或下划线,等价于 \w
- [^a-z] 表示除了a-z之间的任意一个字符
- () 分组
- (?:) 表示当前分组只匹配不捕获
- (?=) 正向预查
- (?!) 反向预查
注意:[]中出现的两位数,不是数学中的两位数
量词元字符
- * 出现零次到多次,等价于{0,}
- ? 出现零次到一次,等价于{0,1}
- + 出现一次到多次,等价于{1,}
- {m} 出现m次
- {m,} 出现至少m次
- {m,n} 出现m~n次
普通元字符
三、修饰符
即斜杠后边的字符
常用修饰符
- i 表示忽略大小写 (全称:ignoreCase)
- g 表示全局分配 (全称:global)
- m 表示多行匹配(全称:multiline)
四、正则定义
正则的定义有两种方法。
1. 正则字面量
var reg = /\d123/g;
console.log(typeof reg); //正则类型
2. new创建
var reg = new RegExp("\d",“g”); //双引号中包含正则匹配的内容 、修饰符