您的位置:首页 > 其它

ES6学习--正则表达式

2018-01-21 17:23 232 查看
//构造函数

{
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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: