JS笔记-part2(正则表达式)

个人习惯用思维导图做笔记,重新敲一遍加深印象

正则表达式

概念:正则表达式是一个用于对字符串实现逻辑匹配运算的对象

创建正则表达式对象

(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]/

不定期更新…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章