js正则表达式之$1$2$3$4$5$6$7$8$9属性,返回子匹配的结果

在正则表达式中,通过使用括号将某个子字符串匹配成一个组,从而在匹配结果中获取该组的值。而通过$1~$9属性,可以返回匹配文本的子匹配内容。以下是详细解释:

$1, $2, $3, $4, $5, $6, $7, $8, $9属性

这些属性用于获取子匹配到的字符串,其对应的匹配组由圆括号指定。例如:

const regex = /^(\d{4})-(\d{2})-(\d{2})$/;
const dateString = '2021-01-28';
const matchResult = regex.exec(dateString);
console.log(matchResult[1]);
console.log(matchResult[2]);
console.log(matchResult[3]);

以上代码中,当匹配字符串2021-01-28的时候,正则表达式/^(\d{4})-(\d{2})-(\d{2})$/将字符串分为3个匹配组:(\d{4})(\d{2})(\d{2}),分别代表年、月、日的数字部分。通过matchResult[1]matchResult[2]matchResult[3]可以获取到匹配结果的年、月、日部分的文本。

如果正则表达式中有多个括号,则可以通过$1$2$3等属性获取到对应的子匹配文本。例如:

const regex = /([A-Z]\w+)\s([A-Z]\w+)/;
const name = 'Steve Jobs';
const matchResult = regex.exec(name);
console.log(matchResult[1]);
console.log(matchResult[2]);
console.log(`Hello, ${matchResult[1]} ${matchResult[2]}!`);

以上代码中,正则表达式 /([A-Z]\w+)\s([A-Z]\w+)/ 表示匹配一个带空格的两个子字符串列表达式。正则表达式包含两个括号分组,第一个括号分组匹配以大写字母开头的单词,第二个括号分组匹配在第一个分组后的一个空格。

在执行上述代码后,控制台将打印以下结果:

Steve
Jobs
Hello, Steve Jobs!

这里$1对应Steve$2对应Jobs

总结

使用$1$2$3等属性可以很方便地访问正则表达式的子匹配文本。但是如果使用这些属性访问一个没有匹配的文本,则将会返回undefined。此外,如果正则表达式存在很多括号分组,那么建议使用具有更好可读性和可维护性的变量名,而不是使用$1$2等直接的属性名称。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js正则表达式之$1$2$3$4$5$6$7$8$9属性,返回子匹配的结果 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JavaScript中运算符规则和隐式类型转换示例详解

    JavaScript中运算符规则和隐式类型转换示例详解 运算符规则 JavaScript中的运算符有自己的一些规则和优先级,如果不了解这些规则,可能会导致不符合预期的结果。以下是几个常用的运算符: 加法 +:用于数字相加或字符串拼接。 js console.log(5 + 7); // 12 console.log(‘Hello’ + ‘ ‘ + ‘Worl…

    JavaScript 2023年5月28日
    00
  • Js+Dhtml:WEB程序员简易开发工具包(预先体验版)

    “Js+Dhtml:WEB程序员简易开发工具包(预先体验版)”使用攻略 1. 概述 “Js+Dhtml:WEB程序员简易开发工具包(预先体验版)”是一款方便程序员快速开发WEB项目的工具包。该工具包包含多个实用的功能,如表单验证、AJAX请求等。通过简单的配置和使用,可以大大提高WEB开发效率。 2. 安装和配置 该工具包使用的是js和dhtml技术,因此只…

    JavaScript 2023年5月27日
    00
  • JavaScript初级教程(第二课)第2/7页

    下面是JavaScript初级教程(第二课)第2/7页的完整攻略: 标题 JavaScript初级教程(第二课)第2/7页 正文 理解JavaScript中的数据类型 JavaScript中的数据类型包括基本数据类型和引用数据类型。基本数据类型有数字,字符串,布尔值,null,undefined。引用数据类型有对象和数组。 数组的定义和访问 JavaScri…

    JavaScript 2023年5月18日
    00
  • 国外的为初学者写的JavaScript教程

    下面我将为您详细讲解如何学习“国外的为初学者写的JavaScript教程”。 一、寻找合适的教程网站 在寻找JavaScript教程网站时,您可以通过搜索引擎来寻找。以下是几个优秀的JavaScript教程网站,推荐大家参考: MDN Web 文档:MDN Web 文档是一个权威的Web技术文档网站。该网站的JavaScript教程适合初学者学习,并有逐步深…

    JavaScript 2023年6月10日
    00
  • 【谷歌插件开发】获取当前网站COOKIE并上报HTTP-API

    一 背景 由于本人每天需要登录网站查看数据并分析统计汇总,而每次机械式地搜索和简单计算,十分繁琐。我们可以写个定时任务,每天根据cookie获取网站数据并遍历统计。 脚本得以成功执行的关键是需要获取到COOKIE 故,写了个谷歌插件用来上报COOKIE 二 代码总目录 三 上代码 manifest.json { “manifest_version”: 3, …

    JavaScript 2023年4月25日
    00
  • JavaScript Navigator对象(浏览器相关对象)

    JavaScript的Navigator对象代表浏览器的导航信息,即浏览器相关的信息,它包含了一些有关浏览器和系统的信息,例如浏览器的名称、版本、语言、操作系统等。可以通过访问一些属性和方法来获取这些信息。下面,将详细讲解Navigator对象并提供代码示例。 1. 属性 (1)appName 描述:返回当前浏览器的名称(不考虑版本号) 代码: consol…

    Web开发基础 2023年3月30日
    00
  • 用Ajax来控制书签和回退按钮的代码

    控制浏览器的书签和后退按钮,在Ajax请求过程中很有用。以下是一个使用JavaScript和jQuery实现的例子: Step 1:监听浏览器的前进/后退事件 在使用Ajax加载页面的过程中,我们需要监听浏览器的前进/后退事件。我们可以使用window.onpopstate事件来监听这些事件。 window.onpopstate = function(eve…

    JavaScript 2023年6月10日
    00
  • JavaScript sup方法入门实例(把字符串显示为上标)

    下面是详细的讲解。 JavaScript sup 方法入门实例(把字符串显示为上标) 什么是 sup 方法? sup 是 JavaScript 中字符串对象的方法之一,用于将指定文本显示为上标,即像 x²(表示 x 的平方)这样的效果。 sup 方法语法 stringObject.sup() 其中,stringObject 为要进行上标处理的字符串。 sup…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部