正则
- 正则:是一种处理 字符串 的规则;
- JS中的正则,具体体现出来是一种数据类型:RegExp
- JS编写正则的两种方式:
- var reg = /q/ //一般都是使用字面量的方式
- var reg = new RegExp(q) //一般涉及到变量的时候才会使用这种方式
- 正则一般有两种用途:
- 用于匹配(text):编写一个正则,看对应的字符串是否符合该正则
- 用于捕获(exec):编写一个正则,可以把对应的字符串中的符合规则的部分获取到
- var reg = /q/g 双斜杠中级的内容,我们称为正则的元字符,外面的称为修饰符
- 常用的元字符可以分为:有特殊含义的元字符、量词元字符、普通元字符
- 有特殊含义的元字符:
- \ 转义字符:把有特殊意义的字符转为字符本身,不代表任何含义
- \d 代表0 - 9 之间的数字
- \D 代表除了0 - 9 的任意字符
- \w 代表 数字、字母、下划线
- \W 代表取反↑
- ^ 代表以 什么字符 开头
- $ 代表以 什么字符 结尾
- . 代表除了换行符以外的所有字符
- \n 代表换行符
- x|y 代表 x 或者 y
- [ab] 代表 a或者b
- [^ab] 代表非ab
- [a-z] 代表a-z直接的任意符
- [^a-z] 代表取反↑
- () 代表 分组和 提升优先级
- (?:) 代表了只匹配,不捕获
- (?=) 代表正向肯定预查
- (?!) 代表正向否定预查
- 量词元字符:
- ? 代表出现 0或1次
-
-
- {n} 代表出现n次
- {n,m} 代表出现n到m次
- {n,} 代表至少出现n次
- 修饰符
- i 代表忽略大小写 ignoreCase
- m 代表多行匹配 mutiline
- g 代表全局匹配 global