当前位置:首页 > 日记 > 正文

ES6正则表达式的一些新功能总结

ES6正则表达式的一些新功能总结

本文主要总结了ES6正则表达式的一些新功能,分享出来供大家参考学习,下面来看看详细的介绍:

一、构造函数实例化参数的变化

大家都知道,在ES5中,new RegExp(参数1,参数2),参数1若是指定了正则修饰符,则参数2就不应该出现,否则将会报错,在ES6中,第二个参数的正则修饰符会覆盖掉原有的修饰符:

<script>//在ES5中,下面的正则自带修饰符ig,则第二个参数不能出现var reg = new RegExp(/asd/ig);//在ES6中,如下:var reg = new RegExp(/asd/ig,'i');//i会覆盖掉原来的ig</script>

二、u修饰符

u修饰符可以自动识别码点大于0xFFFF的编码。只是ES6的新增内容!

<script>/\uD83D/u.test("\uD83D\uDC2A");//在ES6中会返回false,u修饰符默认处理的UTF-16编码/\uD83D/.test("\uD83D\uDC2A");//在ES5中会将test的的参数拆分成两个字符,返回true</script>

另外使用u修饰符需要注意一下几点:

1. “.”字符

在正则表达式中,.字符的含义是除了换行符以外的所有字符,如要.字符匹配码点大于\uFFFF的字符,必须带u修饰符,否则不能正常识别;

<svcipt>var s = "??";//在ES5中/^.$/.test(s)//false//在ES6中/^.$/u.test(s)//true</script>

2.Unicode字符表示法

ES6中新增使用了大括号表示Unicode字符,这种方法在正则表达式中必须加上u修饰符才能识别。

<svcipt>//在ES5中,61会被当做量词使用/\u{61}/.test("a")//false//在ES6中/\u{61}/u.test("a")//true</script>

3.预定义模式

u修饰符也影响到预定义模式,加了u修饰符,才能正确识别码点大于0xFFFF的Unicode字符。

4.对i修饰符的影响

有些Unicode编码的字符比较接近,比如大写的K的编码有\u004B和\u212A,

<svcipt>//未添加u修饰/[a-z]/.test("\u212A")//false//添加u修饰/[a-z]/iu.test("\u212A")//true</script>

三、y修饰符

ES6还新增了一个y修饰符,与通常的g修饰符用法类似,都是用来全局匹配,不同的是y修饰符又叫做“粘连”修饰符,在上一次匹配成功的下一个位置开始匹配,但是下一次开始位置必须要能够满足匹配,也就是匹配从剩余的第一个位置开始,这就是“粘连”的含义(个人理解)吧。

举个例子吧!

<svcipt>var s = qqqq_q_qq;var r1 = /q+/g;var r2 = /q+/y//第一次匹配r1.exec(s)//["qqqq"]r2.exec(s)//["qqqq"]//第二次匹配r1.exec(s)//["qqq"]r2.exec(s)//null</script>

注意:y修饰符隐含了头部匹配的标志^

/a/.exec("bdab");//null/a/.exec("abbd");//["a"]

开头必须匹配上

四、新增属性

1.sticky属性

      判断正则是否设置了y修饰符。

      返回布尔值。

2.flags属性

      返回正则的修饰符

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。

相关文章

微信读书更换字体方法

微信读书更换字体方法

方法,字体,电脑软件,  微信读书是一款全新的手机阅读软件,在阅读书籍的过程中,可以修改自己喜欢的字体,让用户更加喜爱阅读。书籍内容齐全,而且还有每周排行。如果你感兴趣的话,就来看看微信读书更换字体的方法吧!微信读书更换字体方法  在…

qq红包怎么转到微信QQ红包转到微信

qq红包怎么转到微信QQ红包转到微信

红包,步骤,方法,转到,电脑软件,  现在微信支付使用得多,qq红包里的钱也是干放着,怎么也转到微信零钱好花出去呢?不过小编还是有一个小技巧虽然麻烦但不失为一个好办法。qq红包转到微信的步骤打开新版手机QQ,点击左上角头像打开侧边栏菜单,再点…

Word单元格文字边距调整的方法有哪

Word单元格文字边距调整的方法有哪

文字,调整,边距,方法,单元格,  当我们在Word中插入表格时,有些时候并不想让文字紧挨表格边框,而是希望留出一些边距,以便使排版看起来显得更美观。以下是小编为您带来的关于Word单元格文字边距调整,希望对您有所帮助。Word单元格文字边距调整…

ps打不开png如何解决

ps打不开png如何解决

解决方法,方法,打不开,如何解决,电脑软件,  很多png有时候会打不开,所以大家要在ps里面设置一下。其实这个也不算太难,下面就让小编告诉你ps打不开png如何解决的方法,一起学习吧。ps打不开png解决的方法首先打开photoshop,双击左键,进入打开图…

Excel中Sumproduct函数的有哪些使

Excel中Sumproduct函数的有哪些使

函数,使用方法,有哪些,电脑软件,Excel,  主要从四方面对Excel函数进行讲解,1.函数的含义,2.函数的语法格式,3.函数在日常办公中运用的实例介绍,4.函数使用的注意点。以下是小编为您带来的关于Excel中Sumproduct函数的使用方法,希望对您有所帮…

WPS文字繁简体字的切换方法是什么

WPS文字繁简体字的切换方法是什么

方法,文字,繁简,电脑软件,WPS,  从小我们学的就是简体的汉语,当我们遇到繁体的时候就会有点头疼了,当然并不是所有的繁体我们都看不懂。如果要在WPS文字中切换繁体字,有什么快速切换方法呢?以下是小编为您带来的关于WPS文字繁简体字的切换…

QQ空间说说怎么隐藏隐藏QQ空间说说

QQ空间说说怎么隐藏隐藏QQ空间说说

空间,步骤,教程,电脑软件,QQ,  发表QQ空间说说不想让别人看到,怎么隐藏呢?下面小编就给大家带来隐藏QQ空间说说图文详细方法,希望可以帮助到大家,欢迎大家前来阅读!QQ空间说说隐藏步骤一、首先从QQ面板进入QQ空间,如下图所示。隐藏QQ空间说说…

ligerUI---ListBox | 列表框可移动

ligerUI---ListBox | 列表框可移动

列表框,实例,电脑软件,ligerUI,ListBox,写在前面:对于可移动的列表框,ligerui中也对其进行了封装,可以直接照着demo拿来用,不过那都是直接在页面上静态初始化的数据,那么如何从后台获取?前面有了对ligerui的一些组件的使用经验后,在这里其实 对于…

JS中实现函数return多个返回值的实

JS中实现函数return多个返回值的实

返回值,函数,多个,实例,电脑软件,近期开始着手web前端的工作,主要用到JS、html5+css、以及JS框架(jQuery、dojo等等),在学习和写代码的过程中有一些小经验跟大家一起交流与学习。今天主要针对“JS实现函数return多个返回值”的方法。1、函数的…

如何在Word2013中设置文本格式与对

如何在Word2013中设置文本格式与对

对齐,设置,文本,格式,方式,  在使用Word的时候,设置文本格式与对齐方式这一技巧是我们无法回避的,但不一定每个人的方法都是相同的。以下是小编为您带来的关于在Word2013中设置文本格式与对齐方式,希望对您有所帮助。在Word2013中设置文本格…

word2007制作组织结构图的两种方法

word2007制作组织结构图的两种方法

方法,结构图,两种,电脑软件,strong,  平时工作中,有时为了达到某种视觉效果,我们经常会需要制作一些流程结构图,其实这个很简单,直接借助Word2007提供的SmartArt功能,就能迅速的画出组织结构图,那么下面就由小编给大家分享下word2007制作组织结…

怎样解决word2013无法正常显示

怎样解决word2013无法正常显示

显示图片,步骤,无法正常,正常显示,电脑软件,  我们在网上下载下来的文档经常可能会出现这样的问题,里面的图片只能显示一个框,而真正的图片却没法正常显示,其实这些都是因为网页上图片的显示格式与Word中的不一样,我们只需要在Word中调整一下…