正则表达式 的 ES2015 正则表达式新增特性

ES2015 正则表达式新增特性:

在原来正则表达式基础上,ES2015增强了对四字节unicode字符的支持等功能。

更多正则表达式内容可以参阅正则表达式教程板块。

一.RegExp构造函数的使用:

在ES2015之前,使用RegExp构造函数创建正则表达式对象有两种方式:

创建方式一:

var reg = new RegExp("antzone","g");

构造函数的第一个参数是正则表达式字符串主体,第二个参数是正则表达式修饰符。

上面的代码等价于下面代码:

var regex = /antzone/g;

创建方式二:

var reg = new RegExp(/antzone/g);

如果参数不是正则表达式字符串,那么只能够有一个参数;下面的写法是错误的:

var reg = new RegExp(/antzone/,g);

不允许使用第二个参数设置正则表达式修饰符。

ES2015改变这一行为,即便是第一个参数是正则表达式对象,也可以规定第二个参数:

var reg = new RegExp(/antzone/gi,"g");

第二个参数规定的正则表达式修饰符会覆盖第一个参数中的修饰符。

二.字符串的正则方法:

正则表达式相关的match()、replace()、search()和split()方法属于字符串对象。

ES2015对此作了修改,当调用这四个方法的时候,实际上内部调用的是RegExp对象的实例方法。

(1).String.prototype.match 调用 RegExp.prototype[Symbol.match]。

(2).String.prototype.replace 调用 RegExp.prototype[Symbol.replace]

(3).String.prototype.search 调用 RegExp.prototype[Symbol.search]

(3).String.prototype.split 调用 RegExp.prototype[Symbol.split]

关于Symbol可以参阅ES2015 Symbol一章节。

三.后行断言(ES2016):

后行断言可以参阅一章节。

四.新增修饰符:

修饰符

描述

u修饰符

此修饰符标识能够正确处理大于\uFFFF的Unicode字符。

y修饰符

规定只能从lastIndex属性规定的位置开始进行匹配,匹配失败不会再去尝试后面的字符。

五.新增属性:

属性

描述

sticky属性

返回一个布尔值,用来标识是否设置了y修饰符。

flags属性

返回正则表达式的修饰符。

六.新增方法:

方法

描述

RegExp.escape()(ES2016)

html es表达式传参,ES2015 正则表达式新增特性相关推荐

  1. java+lamda+传参_lambda表达式传参

    Lambda表达式中使用的变量需要遵循以下规则: 1.只能引用标记了 final 的外层局部变量,这就是说不能在 lambda 内部修改定义在域外的局部变量,否则会编译错误. 2.局部变量可以不用声明 ...

  2. 微信小程序基础而重要语法整理总结(数据绑定、运算表达式、循环渲染、条件渲染、事件绑定(传参))

    目录 数据绑定 运算表达式 循环渲染 条件渲染 事件绑定(传参) 首先对初始化后的小程序目录进行梳理(图来自某机构) 补充: sitemap配置:小程序根目录下的sitemap. json文件用来配置 ...

  3. spring mvc controller间跳转 重定向 传参

    spring mvc controller间跳转 重定向 传参 1. 需求背景     需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形 ...

  4. thymeleaf 语法——th:text默认值、字符串连接、th:attr、th:href 传参、th:include传参、th:inline 内联、th:each循环、th:with、th:if

    文章目录 1.表达式 1.1.简单表达式 1.2.三元运算.条件表达式: 1.3.默认表达式 1.4.综合使用,属性值的 if - else 2.字符串连接.拼接 3.th:attr 的使用 4.th ...

  5. django 路由传参

    1.使用默认路由传参 要从 URL 中捕获值,请使用尖括号. 捕获的值可以选择包含转换器类型.例如,用于 <int:name>捕获整数参数.如果不包括转换器/,则匹配任何字符串,不包括字符 ...

  6. 【python教程入门学习】Python函数定义及传参方式详解(4种)

    这篇文章主要介绍了Python函数定义及传参方式详解(4种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 一.函数初识 1.定 ...

  7. js原生方法传参的细节(面试必问)

    废话不说,直接上题. slice(),接收两个参数,第一个为开始index(从0开始),第二个为结束的index(也是从0开始,但是不包括index本身,只到index-1).返回值是截取的数组,原数 ...

  8. JavaScript 方法传参

    <a href="#" onclick="sendEmail('${userId}','${userCname}')">发送</a> / ...

  9. Vue.js-Day01-PM【事件绑定(事件传参、事件对象、传参+获取事件对象)、样式处理操作(模板、事件、属性绑定)、Tab切换(原生js实现、Vue.js实现)、js中的this详解关键字】

    Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 目   录 4.事件绑定 4.1.事件绑定(点击.双击.鼠标移动) 点击按钮-最简单的事件绑定(无参函数) 格式 点击按钮 ...

最新文章

  1. Ubuntu 12.04安装NFS server
  2. 事件模型、事件流(冒泡与捕获)、事件代理
  3. 【hta版】获取AppStore上架后的应用版本号
  4. 自制一个害羞的口罩,见人就闭嘴,戴着可以喝奶茶
  5. 家装强电弱电布线图_家装水电安装技巧?水电验收技巧?
  6. 4pam调制与解调(matlab实现)
  7. 在wordpress中添加幻灯片展示
  8. 原生DOM选择器querySelector和querySelectorAll
  9. MySQL 执行计划
  10. 中英文对照 —— 生活中常见词汇
  11. 如何在Linux,Ubuntu,CentOS上安装Java 14
  12. 疯狂Android讲义
  13. 微信APP支付-签名问题
  14. 三层交换机划分VLAN
  15. matlab-微分方程求解方法汇总
  16. 100脚的STM32F103VE单片机通过FSMC接口读写DS12C887时钟芯片中的寄存器
  17. 带你走进T-Pot多蜜罐平台革命:简述、安装、使用、优化、更新
  18. ios-bug.html黑屏重启,iOS12曝重大BUG:iPhone黑屏无法充电!你中招没?
  19. IOS-APP自动化打包上传蒲公英Shell版
  20. PX4源码分析2:飞控系统控制流程简述

热门文章

  1. native react 常用指令_React-Native 常用命令
  2. python椭圆面积_利用matplotlib实现2个椭圆的重叠区域
  3. python文件读写_python文件操作-读写删除复制总结
  4. matlab噪声倍频带声压级,近海风电场水下打桩噪声传播特性
  5. MySQL数据库test连接语句_【MySQL数据库开发之二】MySQL 基础语句的书写与操作!...
  6. 为什么你写的代码糟透了?
  7. 小微贷是美团的上坡之路?
  8. 合伙人分开的一点思考
  9. TeamLab安装及使用
  10. springcloud与dubbo对比: