【ES6】ES6学习五:正则的扩展

一、RegExp构造函数

在 ES5 中,RegExp构造函数的参数有下面两种情况:

情况1:第一个参数是字符串,这时第二个参数表示正则表达式的修饰符。

var regex = new RegExp('xyz', 'i');
// 等价于
var regex = /xyz/i;

情况2:参数是一个正则表示式,这时会返回一个原有正则表达式的拷贝。ES5 不允许此时使用第二个参数添加修饰符,否则会报错。

var regex = new RegExp(/xyz/i);
// 等价于
var regex = /xyz/i;

var regex = new RegExp(/xyz/, 'i');//报错

ES6 改变了这种行为。如果RegExp构造函数第一个参数是一个正则对象,那么可以使用第二个参数指定修饰符。

new RegExp(/abc/ig, 'i').flags
// "i"

 

二、unicode属性:表示是否设置了u修饰符。

const r1 = /hello/;
const r2 = /hello/u;

r1.unicode // false
r2.unicode // true

 

三、sticky属性:表示是否设置了y修饰符。

var r = /hello\d/y;
r.sticky // true

 

四、flags属性:会返回正则表达式的修饰符。

// ES5 的 source 属性:返回正则表达式的正文
/abc/ig.source
// "abc"

// ES6 的 flags 属性:返回正则表达式的修饰符
/abc/ig.flags
// 'gi'

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值