ES6-正则新增(复习+学习)

ES6-正则

昨天,复习了正则的基本知识,今天学习ES6新增的正则的知识,做一个总结笔记,大家可以先看4,5对应的方法然后再从头看,话不多说直接上:

 

1.RegExp构造函数的区别

2.新增的修饰符

3.新增属性

4.字符串对应的正则方法(API文档)

5.RegExp对应的方法(API文档)

 

 

直接开始上手:

 

 

 

 

1.RegExp构造函数的区别

 1 //ES5中也有相应的正则构造函数,首先复习一下ES5的RegExp构造函数,创建方法
 2 var demo = /abc/g;   //字面量
 3 var demo = new RegExp('abc','i');   //构造函数创建,第一个为字符串,第二个参数为修饰符
 4 var demo = new RegExp(/abc/i);     //直接构造函数创建,参数为正则表达式,返回的也是一个正则表达式
 5 ​
 6 ​
 7 //ES6新增区别
 8 //我们知道,我们的正则表达式可能修饰符需要经常的更换,想通过一个构造函数,重新更换一个原来的正则表达式的修饰符,ES5不提供简便的操作,但是新增的ES6提供了一个新的方法,就是增多了一个RegExp构造函数的第二个参数(放置修饰字符),可以更改修饰符
 9 ​
10 var demo1 = new RegExp('abc', 'i');
11         console.log(demo1);       // /abc/i
12 var demo2 = new RegExp(demo1, 'ig');  
13         console.log(demo2);     // /abc/gi
14 ​

 


 

 

 

 

 

 

2.新增的修饰符

 

2.1 u修饰符

//u表示Unicode编码字符,大家知道,一般的字符基本都是UTF-8或者UTF-16编码的,基本都是2字节或者1个字节存储,我之前写的字符的表示就说明过这一点,那么超过Unicode编码\uFFFF的时候,那么就需要有两个字节表示,js不能更好的处理,因此,为了解决这一个问题,ES6新增的u修饰符,可以正常处理4个字节的UTF-16编码,总之,处理Unicode编码字符加上u就行了。

 1 //(1) . 字符(除了换行外其他所有的单个字符,不包括编码大于\uFFFF)
 2 //加上u修饰符,就可以解决 . 字符无法识别编码大于\uFFFF的字符了
 3 var s = '
上一篇:【Go Web学习笔记】第十二章 Go与正则表达式


下一篇:mysql数据库高级语句—中