资讯专栏INFORMATION COLUMN

JavaScript中exec()方法详解

seal_de / 1663人阅读

摘要:使用对象的方法直接调用即可。下面看断点截图执行返回的数组来看下数组对象每个属性匹配到的字符串匹配到的字符串的第一个字符在被检索字符串中的位置被检索的字符串数组的长度

使用RegExp对象的exec()方法:

直接调用即可。如果匹配到字符串返回一个数组;如果没有匹配到返回null
1) var re1=new RegExp("w{2}");
var res1=re1.exec("要检索的字符串");

2)var re3=/w{2}/;
var res2=re3.exec("要检索的字符串");

示例:


exec()方法的使用



我们断点来看var res1=re1.exec("aa2edj3djie7788");执行结果

匹配字符串"aa2edj3djie7788"结果断点.png

我们再断点看var res2=re1.exec("458949468974484");执行结果

匹配字符串"458949468974484"结果断点.png

总上所知,我们使用exec()方法得到的结果有两个,一个是存有匹配字符串的数组,一个是null

二、RegExp对象和执行exec()得到的结果分析

需要划下重点
1)首先RegExp对象
只需要关系此对象的一个属性,lastIndex ,这个属性的值代表了 检索字符串 开始匹配的起始索引,依旧上代码和断点


exec()方法的使用



我们来看断点中的RegExp对象,在调用exec()方法前

调用exec()方法前RegEpx对象.png

我们看调用exec()方法后的断点

调用exec()方法后RegEpx对象.png

注意,这里在调用exec()方法前后,lastIndex值虽然没有改变,但是这个属性至关重要。
1)lastIndex代表了每次匹配要检索的字符串的开始匹配的起始索引位置
2)在 修饰符使用了 g 后,此属性是变的,因此对后面理解 g修饰符是非常关键的。

2)执行exec()的到的结果
这里我们只断点查看数组结果,null也没啥好看的好像。
下面看断点截图

执行exec()返回的数组.png

来看下数组对象每个属性:
var a=res1[0]; // 匹配到的字符串
var index=res1.index; //匹配到的字符串的第一个字符 在被检索字符串String中的位置
var input=res1.input; //被检索的字符串 string
var length=res1.length; //数组的长度

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/103509.html

相关文章

  • 正则表达式前端使用手册

    摘要:非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。 导读 你有没有在搜索文本的时候绞尽脑汁, 试了一个又一个表达式, 还是不行. 你有没有在表单验证的时候, 只是做做样子(只要不为空就好), 然后烧香拜佛, 虔诚祈祷, 千万不要出错. 你有没有在使用sed 和 grep 命令的时候, 感觉莫名其妙, 明明应该支持的元字符, 却就是匹配不到. 甚至,...

    zhoutao 评论0 收藏0
  • 正则的贪婪,前瞻及属性详解

    摘要:正则的三种方法编译正则表达式。返回找到的值,并确定其位置。规定匹配的类型。用于全局匹配,用于区分大小写,用于全局区分大小写的匹配。非贪婪匹配就是匹配到结果就好,就少的匹配字符。对象是否具有标志。正则表达式的源文本。 对正则的深入学习 学习正则我们不能光看看几个修饰符就可以了,因为正则还有许多深入的知识,下面我就来为大家扒一扒。。。showImg(https://segmentfault...

    pepperwang 评论0 收藏0
  • JavaScript ASI 机制详解

    摘要:最近在清理的未读列表,看到了才知道了的,一种自动插入分号的机制。这种行为被叫做自动插入分号,简称。不过在省略分号的风格中,这种解析特性会导致一些意外情况。规则标准定义的包括三条规则和两条例外。规则一情况三就是为量身定做的。 TL;DR 最近在清理 Pocket 的未读列表,看到了 An Open Letter to JavaScript Leaders Regarding Semico...

    frontoldman 评论0 收藏0
  • 正则表达式详解 js

    摘要:程序员的正则表达式,医生的处方和道士的鬼画符,都是利器。其实,正则表达式是一门语言,有自己独特的语法,还拥有自己的解释器。但是,如果正则表达式是动态的,是根据变量来定义的,那么,只能使用第二种构造函数的方式。 前言 作为一个程序员,要出去装逼,手中必备的技能就是正则表达式。程序员的正则表达式,医生的处方和道士的鬼画符,都是利器。 在js中,很多的场景需要去使用到它(毕竟,js刚刚诞生的...

    fredshare 评论0 收藏0
  • 正则基础详解

    摘要:正则基础详解开头,结尾匹配次或多次匹配次匹配次或次当跟在后面时,匹配模式是非贪婪的匹配确定是次,非负数匹配除了换行符以外的任何字符包括点本身小括号中的内容只匹配不捕获正向预查负向预查匹配或者匹配中任何一个匹配未包含的任意字符匹配指定范围 正则基础详解 /^开头,结尾$/ * 匹配0次或多次 + 匹配1-n次 ?匹配0次或1次; 当?跟在 * + {n} {n,m} {n,} 后面时...

    YanceyOfficial 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<