ES6学习--正则表达式

//构造函数
{
let regex=new RegExp(/xyz/i);  //ES5第一种写法,1个参数.i表示忽略大小写
let regex2= new RegExp("xyz",'i'); //ES5第二种写法,两个参数,第一个参数是字符串,第二个是修饰符
console.log(regex.test("xyz9090"));
let regex3 = new RegExp(/xy/ig,"i"); //ES6写法,第二个参数会覆盖第一个参数里面的修饰符
console.log(regex3.flags);  //flags是ES6新增的特性
}


//y修饰符
{
let s="3333_090_090333";
let a1=/3+/g;
let a2=/3+/y;    //exec() 方法用于检索字符串中的正则表达式的匹配。
console.log(a1.exec(s),a2.exec(s)); //g修饰符 检查后面不一定紧跟着开始是否匹配
console.log(a1.exec(s),a2.exec(s)); //y修饰符 检查接跟着的下一个开始是否匹配
}


//u 修饰符  unicode匹配
{
console.log('\u{DB3D}');
console.log("u-1",/^\uDB3D/.test('\uDB3D\uDC2A'));  //true
console.log("u-1",/^\uDB3D/u.test('\uDB3D\uDC2A'));  //false unicode匹配,


 //超过2个字节了,加u,
console.log('\u{20BB7}');  //超过2个字节了
let s='?';
console.log('u',/^.$/.test(s));  //超过2个字节了,不加u的.匹配结果为true
console.log('u-2',/^.$/u.test(s)); //超过2个字节了,加u,匹配结果为false

console.log('test',/?{2}/.test('吉吉'));  // true
console.log('test-2',/?{2}/u.test('吉吉'));   //false 正则表达式中大于2个字节的,要加u
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值