js正则表达式之exec方法讲解

下面是关于“js正则表达式之exec方法讲解”的完整攻略。

exec方法介绍

正则表达式是一个非常重要的知识点,使用正则表达式可以进行文本匹配和替换,exec() 是Regexp对象的一个方法,用于在字符串中执行正则表达式的搜索,并返回包含结果的数组。如果没有找到匹配,它将返回 null。

该方法的语法如下所示:

regexp.exec(str)

其中 regexp 为需要匹配的正则表达式, str 为需要进行匹配的字符串。

这个方法会在字符串中寻找第一个匹配项。如果找到,它将返回匹配项组成的数组,否则返回 null。数组会包含匹配结果和一些其他属性。

exec方法返回值

当exec方法进行匹配时,如果找到匹配项,则返回一个数组,数组的第一个元素是匹配到的字符串,之后的元素是每个括号所匹配到的字符串。

举个例子:

const pattern = /(\d{4})-(\d{2})-(\d{2})/;
const result = pattern.exec("2021-07-26");
console.log(result);

以上代码会输出如下结果:

["2021-07-26", "2021", "07", "26", index: 0, input: "2021-07-26", groups: undefined]

可以看到,返回的数组包含了匹配到的字符串及其每个小括号中的内容,而后面的 index 和 input 表示匹配的字符串在原字符串中的位置和原字符串本身。

exec方法示例

示例一

下面的代码展示了对字符串中所有连续数字的匹配和输出。

const pattern = /\d+/g;
const str = "hello 123 world 456!";
let result = pattern.exec(str);
while(result !== null){
  console.log(result[0]);
  result = pattern.exec(str);
}

上述代码使用了 /pattern/g 的形式,其中 g 代表全局匹配,即对整个字符串全部匹配。输出结果如下:

123
456

示例二

下面的代码展示了对价格字符串的匹配和提取价格部分。

const pattern = /(\$[0-9]+\.[0-9]{2})/g;
const str = "Apples cost $2.99 and oranges cost $1.99";
let result = pattern.exec(str);
while(result !== null){
  console.log(result[0]);
  result = pattern.exec(str);
}

上述代码使用了 /pattern/g 的形式,其中 g 代表全局匹配,即对整个字符串全部匹配。输出结果如下:

$2.99
$1.99

以上两个示例展示了 exec 方法的具体用法,希望可以帮助你更好地理解它的使用方式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js正则表达式之exec方法讲解 - Python技术站

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

相关文章

  • Javascript 面向对象 继承

    JavaScript 是一门面向对象的编程语言,因此在 JavaScript 中实现继承的方式和其他面向对象编程语言如 Java 和 Python 有些区别。下面是一个完整的 JavaScript 面向对象继承攻略,示例说明了两种常用的继承方式。 1. 构造函数继承 构造函数继承是通过在子类构造函数中调用父类构造函数来继承父类属性和方法,这种继承方式存在一个…

    JavaScript 2023年5月27日
    00
  • js时间戳与日期格式之间相互转换

    关于“js时间戳与日期格式之间相互转换的攻略”,我会从以下方面进行详细讲解: 时间戳和日期格式的概念及区别 时间戳转日期格式的方法 日期格式转时间戳的方法 示例说明 1. 时间戳和日期格式的概念及区别 时间戳是1970年1月1日(UTC/GMT的午夜)距离某一时间点的秒数,可以简单理解成整数形式的时间点。而日期格式则是指可读性较好的时间表示形式,例如“202…

    JavaScript 2023年5月27日
    00
  • JavaScript常用内置对象用法分析

    JavaScript常用内置对象用法分析攻略 什么是内置对象 在JavaScript中,常用内置对象是指自带的对象,无需额外导入或安装插件便可直接使用的对象。比如:数组对象、字符串对象、数学对象、日期对象等。 常用内置对象用法分析 数组对象 数组对象是JavaScript中重要的内置对象之一。数组对象用法如下: 创建数组 var arr = new Arra…

    JavaScript 2023年6月10日
    00
  • springboot中thymeleaf模板使用详解

    这里是 SpringBoot 中 Thymeleaf 模板使用详解的完整攻略: 什么是Thymeleaf Thymeleaf 是一种现代化的服务器端 Java 模板引擎,可以与 Spring Boot 集成使用,支持 HTML、XML、JavaScript、CSS 甚至纯文本。模板文件可以使用包含表达式的标记替换,可以非常方便的将模型数据绑定到 HTML U…

    JavaScript 2023年6月10日
    00
  • js bind 函数 使用闭包保存执行上下文

    js中bind函数是一个非常常用的函数,它可以改变函数的上下文(this),常常用于一些特殊情况,如在事件处理函数中改变this指向。在使用bind函数的时候,为了保证绑定的上下文在函数执行时正确,使用闭包保存执行上下文是一个非常好的选择,本攻略将详细讲解如何使用闭包保存执行上下文。 什么是bind函数? bind函数是js中常用的一个函数,可以修改函数的上…

    JavaScript 2023年6月10日
    00
  • JS实现的Object数组去重功能示例【数组成员为Object对象】

    下面是讲解“JS实现的Object数组去重功能示例【数组成员为Object对象】”的完整攻略。 一、背景介绍 在实际的开发过程中,我们经常会操作Object数组。而有时候,我们需要对一个Object数组进行去重操作,以避免出现重复数据。接下来,我们将会介绍针对这种情况下的JS实现的Object数组去重功能示例。 二、数组去重算法 去重算法是数组去重的核心,根…

    JavaScript 2023年5月27日
    00
  • JavaScript 对象的属性和方法4种不同的类型

    JavaScript对象是一种包含属性和方法的数据结构。在JavaScript中,对象属性和方法有4种不同的类型。 1. 数据属性 数据属性是最简单的属性类型。它是对象的一个简单属性,通常被用来存储数据。数据属性有以下特征: value:属性值 writable:是否可写(true | false) enumerable:是否可枚举(true | false…

    JavaScript 2023年5月27日
    00
  • JavaScript动画原理之如何使用js进行动画效果的实现

    下面我将为您详细讲解“JavaScript动画原理之如何使用js进行动画效果的实现”的完整攻略。 前置知识 在开始学习 JavaScript 动画之前,你需要掌握以下知识: HTML 和 CSS 的基本语法 JavaScript 的基本语法 DOM 操作 JavaScript 动画原理 JavaScript 动画的原理是基于原始的计时器函数 setInter…

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