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

yizhihongxing

下面是关于“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日

相关文章

  • FireFox JavaScript全局Event对象

    FireFox JavaScript全局Event对象 概述 在 FireFox JavaScript 中,Event 对象是一个全局的对象,它代表着一个事件,包含了事件的相关信息,如事件类型,目标元素等。我们可以使用 Event 对象来获取事件信息。 使用方法 获取事件类型 在事件处理函数中,我们可以使用 event.type 属性来获取事件的类型,例如:…

    JavaScript 2023年6月10日
    00
  • JFinal使用ajaxfileupload实现图片上传及预览

    以下是使用 JFinal 和 ajaxfileupload 实现图片上传及预览的完整攻略。 准备工作 首先,你需要在你的项目中引入 JFinal 和 ajaxfileupload,具体引入方式可以参考官方文档。 接着,你需要准备一个接口用于接收上传的图片,并返回图片的路径或其他信息,可以在你的 JFinal Controller 中编写一个如下的示例方法: …

    JavaScript 2023年6月11日
    00
  • Javascript基于对象三大特性(封装性、继承性、多态性)

    JavaScript是基于对象设计的一种编程语言,其三大特性分别是封装性、继承性和多态性。下面我们将对这三个特性分别进行详细的介绍和示例说明。 封装性 封装性是指将对象的属性和方法组合成一个单独的单元,即封装成一个类。封装性可以隐藏对象的具体实现方式,只暴露必要的接口给外部使用,提高代码的安全性和可维护性。 示例一 class Person { constr…

    JavaScript 2023年5月27日
    00
  • js中回调函数的学习笔记

    JS中回调函数的学习笔记 回调函数的定义 回调函数是指在一个函数的参数中传递的函数,被传递的函数将在调用该参数的函数执行完毕之后立即执行。该函数被称为“回调函数”。 回调函数的作用 回调函数的作用是将一个复杂的问题分解成多个简单的问题,以便更好的理解和解决整个问题。回调函数可以让我们更好地实现代码重用,提高程序的可读性和可维护性。 回调函数的示例 我们可以通…

    JavaScript 2023年5月27日
    00
  • JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析

    JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析 在JavaScript编程中,数据类型(Data Type)是非常重要的概念,因为不同的数据类型有着不同的处理方式。JavaScript中的数据类型可以分为基本数据类型和引用数据类型,同时数据的存储方式也不同,有堆和栈的区别。 基本数据类型(Primitive Type) JavaScript中的…

    JavaScript 2023年5月28日
    00
  • jquery对Json的各种遍历方法总结(必看篇)

    下面我来详细讲解一下”jquery对Json的各种遍历方法总结(必看篇)”的完整攻略。 简介 在前端开发中,我们经常会用到Json格式的数据。而jquery中提供了很多方法用于遍历Json数据。本文就对这些方法做了一个总结,供大家参考。 each方法 each方法是jquery中针对数组和对象的遍历方法,它接受一个函数作为参数,这个函数会在每个元素上被调用。…

    JavaScript 2023年5月27日
    00
  • js获取时间并实现字符串和时间戳之间的转换

    获取时间是前端开发中的常见需求,一般有两种方式获取时间,一种是获取当前时间,另一种是获取指定时间。在这基础上,我们可以实现字符串和时间戳之间的相互转换。 获取当前时间 我们可以使用new Date()对象获取当前时间,然后将其转换为需要的字符串格式。以下代码展示了如何将当前时间转换为年-月-日时分秒格式: // 获取当前时间 let now = new Da…

    JavaScript 2023年5月27日
    00
  • 原生js实现密码强度验证功能

    密码强度验证是一种常用的前端表单验证功能,实现起来并不复杂。下面是使用原生JS实现密码强度验证的攻略: 1. 分析实现思路 实现密码强度验证的关键是定义密码强度的级别和判断密码的强度。一般情况下,密码强度可以分为“弱”、“中”和“强”三个等级,判断密码的强度需要根据密码的长度、包含的字符类型、是否包含特殊字符等多个因素来综合评估。 2. 编写HTML代码 &…

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