js正则表达式中exec用法实例

JS正则表达式中exec用法实例

正则表达式在JavaScript中是十分常用的,exec()方法是JavaScript中正则表达式的一个重要实例方法。本文将详细讲解JS正则表达式中exec用法实例,希望对大家有所帮助。

exec()方法简述

JavaScript exec()方法是Js内置的正则表达式实例方法,用来检索字符串中与正则表达式想匹配的字符串,并返回匹配到的子串结果。exec()方法在正则表达式的循环中经常被使用。

exec()方法有两个参数,一个是要查找的字符串,另一个是要执行的正则表达式:

RegExpObject.exec(string)

其中,RegExpObject是由 RegExp() 创建的一个正则对象,string 是指要匹配的字符串。

exec()方法返回值

当匹配到内容时,exec()方法返回一个数组:

  • index:被匹配文件的起始位置。
  • input:被检索的一整个字符串。
  • [0]:与正则表达式匹配的文本
  • [1],...,[n]: 括号中的分组捕获,按左括号的序号从左向右从1开始计算

当未匹配到内容时,exec()方法返回null。

exec()方法实例

示例1:查找字符串中所有数字

下面的代码段演示如何使用 exec() 方法在字符串中查找所有数字:

var myRe = /\d+/g;
var str = "123 Main Street"
var myArray;
while ( (myArray = myRe.exec(str)) !== null ) {
  var msg = "Found " + myArray[0] + " at index " + myArray.index + ";";
  console.log(msg);
}

代码输出:

Found 123 at index 0;
Found 4 at index 4;
Found 5 at index 5;
Found 678910 at index 6;

示例2:按指定格式拆分字符串

下面的代码段演示如何使用 exec() 方法按指定格式拆分字符串:

var myRe = /(hello|world)/g;
var str = "hello world";
var myArray = myRe.exec(str);
var result = "";
while (myArray != null) {
  result += " " + myArray[0];
  myArray = myRe.exec(str);
}
console.log(result); // "hello world"

在上述代码中,myRe 通过匹配“hello”或“world”关键字,并存储在 myArray 数组中。在 while 循环中,如果返回的 myArray 不为 null,则将 myArray[0] 的内容赋值到 result 字符串中。

结果是 result 显示为 “hello world”,因为字符串 str 中包含“hello”和“world”两个关键字。

总结

在JavaScript中,正则表达式和exec()方法都是非常方便和实用的工具,可以帮助我们解决各种与字符串相关的问题。掌握exec()的使用方法,对JavaScript编程会有很大的帮助。

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

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

相关文章

  • JavaScript高级教程5.6之基本包装类型(详细)

    JavaScript高级教程5.6之基本包装类型(详细) 基本包装类型介绍 JavaScript中有三种基本类型:Number、String和Boolean。它们是原始值,不是对象。但是,在读取它们的属性时,会创建临时的基本包装类型对象,以便能够访问属性和方法。一旦访问结束,立即销毁这个临时对象。这个临时对象的行为类似于对象类型的实例。 基本包装类型方法 在…

    JavaScript 2023年6月10日
    00
  • 前端实现字符串GBK与GB2312的编解码(小结)

    前端实现字符串GBK与GB2312的编解码是用JS实现编解码操作,它需要涉及到对二进制码的操作。在操作编解码之前,我们需要先了解一些概念和原理。 GBK和GB2312是中文编码标准,其中GBK支持繁体中文;GB2312仅支持简体中文。 GBK字符集的起始位置与GB2312相同,但GBK字符集支持更多的汉字,因此GBK兼容GB2312,但GB2312不兼容GB…

    JavaScript 2023年5月19日
    00
  • Javascript技术栈中的四种依赖注入详解

    下面详细讲解“Javascript技术栈中的四种依赖注入详解”。 什么是依赖注入 依赖注入(Dependency Injection,简称DI)是一种软件设计模式,可以在某些情况下提高代码的松散度和可维护性。它的核心思想是将组件之间的依赖关系由程序员手动编写代码设置,转化为由容器自动完成依赖关系的注入。 在Javascript技术栈中,一般将依赖注入分为以下…

    JavaScript 2023年5月28日
    00
  • 用json方式实现在 js 中建立一个map

    在 Javascript 中建立一个 Map,在较早版本的 Javascript 中是无法直接实现的,但我们可以使用 JSON 格式实现一个类似 Map 的数据结构。 具体实现过程: 首先定义一个 JSON 对象来表示 Map,将每个键值对当作 JSON 对象的一个属性,键作为属性名,值作为属性值。例如,要建立一个键为 “key1″,值为 1 的 Map: …

    JavaScript 2023年5月27日
    00
  • Javascript中判断一个值是否为undefined的方法详解

    当我们使用JavaScript编写代码时,通常需要对变量或函数返回值是否为“未定义(undefined)”进行判断,JavaScript中判断一个值是否为undefined的方法有很多种,下面我们就逐个进行说明。 1.使用typeof typeof是用来检测变量类型的操作符,如果变量未定义,则返回”undefined”,因此可以用typeof来判断一个值是否…

    JavaScript 2023年5月28日
    00
  • 一篇文章搞定iOS的Cookie存取

    一篇文章搞定iOS的Cookie存取 什么是Cookie Cookie是浏览器保存在客户端的一种数据,原本是为了解决HTTP协议无状态的问题而出现的。随着互联网技术的发展,Cookie的应用场景变得越来越广泛,现在已经成为了网站进行用户识别和状态管理的常见手段。 iOS中如何实现Cookie存取 iOS中要实现Cookie的存取,可以使用NSHTTPCook…

    JavaScript 2023年6月11日
    00
  • javascript实现数字时钟特效

    下面是实现数字时钟特效的完整攻略。 一、准备工作 在开始实现之前,我们需要先搭建一个简单的HTML框架,并且引入jQuery库和一个字体库。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> &l…

    JavaScript 2023年5月27日
    00
  • nodejs中的fiber(纤程)库详解

    Node.js 中的 Fiber(纤程)库详解 什么是 Fiber Fiber 是一个用于实现协程的库。协程是一种用户级线程,可以在同一个进程内实现多个协程并发执行,从而实现更高效的 I/O 操作。在 Node.js 中,I/O 操作是异步的,使用回调函数等方式来进行异步调用。Fiber 可以让我们使用同步的方式来编写异步的代码,从而简化程序逻辑。 Fibe…

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