个人习惯用思维导图做笔记,重新敲一遍加深印象
正则表达式
概念:正则表达式是一个用于对字符串实现逻辑匹配运算的对象
创建正则表达式对象
(1)构造函数声明:
var reg = new RegExp(/abc/,‘i’)
第一个参数为过滤字符串的规则
第二个参数为修饰符
(2)字面量简介方式(常用)
var reg = /abc/i
在//内规定过滤规则,后面是修饰符
匹配方法
test():检测是否满足表达式匹配结果,返回布尔值
返回匹配结果详细信息
exec():返回数组
两种基本字符
1.原义文本字符
字符本身的含义,例如‘/abc/’表示匹配abc
2.元字符
在正则表达式中有特殊含义的非字母字符,包括:
*+?$^.|(){}[]
| | 或 | console.log(/a|b/.test(‘ac’));//true;一真全真 |
[] | 简单字符类 | console.log(/[abc]/.test(‘ac’));//true;一真全真 |
[^] | 反向类(负向类) | console.log(/[^abc]/.test(‘abcd’));//true;一假则真 |
- | 范围类 | [0-9]表示0到9之间的任意字符,同样适用于a-z,A-Z |
预定义类:
. | 除了回车和换行之外的所有字符 | 等价于[^\r\n] |
\d | 数字字符 | 等价于[0-9] |
\D | 非数字字符 | 等价于[^0-9] |
\s | 空白字符 | 等价于[\f\n\r\t\v] |
\S | 非空白字 | 等价于[^\f\n\r\t\v] |
\w | 单词字符(字母、下划线、数字) | 等价于[a-zA-Z_0-9] |
\W | 非单词字符 | 等价于[^a-zA-z_0-9] |
边界字符
^ | 以指定字符为开头 | 此处的^区分包含在[]中的^,[^]为反向类 |
$ | 以指定字符为结尾 | |
\b | 单词边界 | |
\B | 非单词边界 |
量词
() | 分组 | |
{} | 匹配的程度 | {2,3}表示至少匹配2次,最多匹配3次 |
? | 匹配包含0个或一个指定字符的字符串 | |
* | 修饰匹配数量为任意数量,包括0次 | |
+ | 前导字符必须在目标对象中连续出现一次或多次 |
修饰符
i | 大小写不敏感 | |
g | 全局匹配,不局限于第一次 | |
m | 检测换行符 |
修饰符可以同时使用多个
验证汉字
/[\u4e00-\u9fa5]/ |
不定期更新…