ES9 新特性:matched 和 groups

ES9 新特性:matched 和 groups

在 ES9 中,新增了两个正则表达式的属性:matched 和 groups。这两个属性主要用于在匹配过程中获取更多的信息,让正则表达式更加灵活强大。

matched

matched 属性用于获取正则表达式匹配到的字符串。在之前的版本中,我们通常都是使用 test 和 exec 方法来判断某个字符串是否匹配正则表达式,但这些方法只能返回 true 或 false 或者一个匹配结果。而 matched 属性的出现,为我们提供了一个更加直接有效的方式来获取匹配到的字符串。

matched 属性可以通过 $& 来访问,它会返回正则表达式匹配到的子字符串。比如下面这个例子:

--- --- - ------ -------
--- ------ - -------------------
---------------------------- -- -------

上面的代码中,我们先使用 match 方法匹配了字符串中的 hello 子串,并且将结果赋值给 result。然后通过 result.matched,就可以直接获取到匹配到的字符串 hello。

groups

groups 属性则用于获取正则表达式匹配到的所有分组(也就是括号括起来的子串)。在之前的版本中,获取分组的方式比较麻烦,需要通过 exec 方法多次执行,或者在正则表达式中使用 ? 的方式来定义一个分组,然后通过 groupName 属性来获取。而 groups 属性的出现,可以更加方便地访问所有分组。

groups 属性可以通过 $ 或者 [groupName] 来访问,它会返回一个包含所有分组的对象。比如下面这个例子:

--- --- - ------ -------
--- ------ - ------------------ ----------
--------------------------- -- ------- -------- ------ --------

上面的代码中,我们定义了两个分组,分别是 hello 和 world。然后通过 match 方法匹配了字符串,并且将结果赋值给 result。最后通过 result.groups,就可以直接获取到一个包含所有分组的对象,其中属性名对应着分组的名称,属性值对应着分组匹配到的字符串。

总结

ES9 新特性中,matched 和 groups 属性的出现,让我们在使用正则表达式进行字符串匹配过程中更加方便地获取匹配到的字符串和所有分组。同时,它也让正则表达式在实际应用中的灵活性和强大性得到了进一步提升。

代码示例

下面是一个完整的代码示例,演示了 matched 和 groups 属性的基本用法:

--- --- - ------ -------
--- ------ - ------------------ ----------
---------------------------- -- ------ ------
--------------------------- -- ------- -------- ------ --------

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/65326f617d4982a6eb52d1e5


猜你喜欢

  • Sequelize 如何使用切片分页

    Sequelize 如何使用切片分页 Sequelize 是一个优秀的 Node.js ORM 框架,它支持多种数据库,包括 MySQL、PostgreSQL、SQLite 等等。

    1 年前
  • 避免 Babel 生成的重复代码,提高代码性能

    Babel 是一个 JavaScript 编译器,用于将最新的 ECMAScript 版本转换为浏览器能够理解的代码。然而,这些转换有时会导致生成重复的代码,从而降低性能并增加了代码大小。

    1 年前
  • 如何让 SSE 支持 HTTPS 协议

    如何让 SSE 支持 HTTPS 协议 Server-Sent Events(SSE)是一种服务器推送技术,它允许服务器向客户端发送文本数据流。SSE 非常适用于实时应用程序,例如股票报价、天气信息或...

    1 年前
  • Flexbox 布局中如何实现固定宽度和自适应宽度的元素混排

    在进行网页排版时,经常需要将固定宽度和自适应宽度的元素进行混排,以实现设计效果。而使用 Flexbox 布局可以方便地实现这一需求。本文将详细介绍如何使用 Flexbox 实现固定宽度和自适应宽度的元...

    1 年前
  • 使用 Express.js 和 React 构建在线教育平台的完整教程

    引言 在当今信息时代,学习已经成为每个人都必须不断提升的技能。在线教育平台也因此而应运而生。本篇文章将详细介绍如何使用 Express.js 和 React 构建一个在线教育平台。

    1 年前
  • PM2 常见问题:如何解决 PM2 进程出现错误并重启导致死循环的问题

    在前端开发中,使用 PM2 作为进程管理工具,可以方便地管理 Node.js 应用程序的进程。但是,在使用 PM2 的过程中,可能会出现进程错误并重启导致死循环的问题。

    1 年前
  • Next.js 中如何使用 Apollo client 来处理 GraphQL 请求

    在现代前端开发中,GraphQL 是越来越受欢迎的 API 查询语言,而 Next.js作为基于 React 的服务器渲染框架,也很好地支持了 GraphQL。在本文中,我们将深入介绍 Next.js...

    1 年前
  • Angular 8 中使用 SPA 技术构建项目的详细过程

    引言 本文将结合 Angular 8 和 SPA 技术,详细介绍如何构建一个前端项目,重点是 SPA 部分。文章着重介绍基础知识,包括 Angular 的核心概念、SPA 技术的基本原理,以及如何使用...

    1 年前
  • Vue.js 中使用 Vue-cli3 脚手架的方法

    Vue.js 是一款流行的 JavaScript 框架,它可以帮助开发者构建交互式用户界面和单页面应用程序。而 Vue-cli3 则是对 Vue.js 开发体验的进一步优化,它提供了一套完整的脚手架工...

    1 年前
  • ES6 for...of 循环的用法及实例教程

    介绍 ES6 for...of 循环是 JavaScript 的新特性,它可以用来遍历可迭代(iterable)对象的元素。可迭代对象包括数组、字符串、Set 和 Map 等,但不包括普通的对象。

    1 年前
  • Custom Elements 与 Vue.js 的混合编程详解

    在前端技术领域中,Custom Elements 是 Web Components 四大标准之一,它允许我们创建自定义的 HTML 元素,并在 Web 页面中使用。

    1 年前
  • 详解 ESLint 在前端中的应用

    ESLint 是一个在前端开发中广泛使用的工具,通过分析代码,检查代码中的错误和潜在问题。ESLint 可以帮助开发者规范代码风格并提升代码质量。在本文中,我们将详细介绍 ESLint 的应用及其实用...

    1 年前
  • MongoDB 副本集之 Oplog 使用及案例实践

    前言 在现代应用中,数据的要求是高可用和实时性。对于前端应用,我们通常使用 MongoDB 进行数据存储和处理。而 MongoDB 副本集则是提供高可用性和可扩展性的解决方案。

    1 年前
  • Mocha 如何测试 Express 的中间件

    引言 在开发 JavaScript 应用的过程中,Mocha 已经成为了一个非常受欢迎的测试框架。它非常适用于前端和后端开发,可以在浏览器和 Node.js 环境下运行。

    1 年前
  • Redis 分布式投票功能实现指南:如何使用 Hash 和 Counter 类型实现分布式投票

    在 Web 开发中,我们经常需要实现一个投票功能。但当这个投票功能需要支持高并发、分布式环境下的部署,就需要考虑一些更为复杂的实现方式。 Redis 是一个开源的内存数据库程序,它提供了各种数据结构和...

    1 年前
  • 解决使用 Enzyme 测试 React 组件时遇到的 React Router 问题

    在 React 应用开发过程中,我们通常会使用 React Router 进行路由管理。但是当我们使用 Enzyme 对 React 组件进行单元测试时,经常会遇到一些 React Router 相关...

    1 年前
  • Cypress 测试中快速定位元素的方法

    Cypress 是目前前端测试最火的工具之一,其优势在于易于上手和编写测试代码,而且速度快,效率高。但是,要进行前端测试,就需要对页面元素进行操作和定位,这也是 Cypress 测试的重点之一。

    1 年前
  • 如何在 Deno 中获取 HTTP 请求头

    Deno 是一个新兴的 JavaScript 和 TypeScript 运行时环境,它提供了一种更加安全可靠的运行环境,并且包含了一套标准库来提供编写服务器端应用的基本 API。

    1 年前
  • 基于 Vue 实现 PWA 开发的详细教程

    什么是 PWA PWA 全称为 Progressive Web Apps,它是一种集成了最佳 Web 和 App 体验的新型应用程序。PWA 具有类似原生应用程序的功能,比如接收推送通知,离线访问等,...

    1 年前
  • 如何利用 CSS Reset 实现网页字体的统一适配?

    在前端开发中,经常会遇到字体大小、样式不一致的问题,特别是在各种浏览器下表现不同的情况更加突出。针对这种问题,我们可以利用 CSS Reset(CSS 重置)来实现网页字体的统一适配。

    1 年前

相关推荐

    暂无文章