lastIndex与正则表达式的关系

这次给大家带来lastIndex与正则表达式关系,使用lastIndex与正则表达式的注意事项有哪些,下面就是实战案例,一起来看一下。

前言

今天遇到一个问题,用正则表达式去检查同一个字符串时,交替返回true和false。无奈之下,重新翻了翻权威指南,发现罪魁祸首原来是lastIndex。可在控制台尝试下

let reg = /[d]/g//undefinedreg.test(1)//truereg.test(1)//false

登录后复制

lastIndex

lastIndex在权威指南中是如下解释:它是一个可读/写的整数。如果匹配模式带有g修饰符,这个属性存储在整个字符串中下次索引的开始位置,这个属性会被exec()和test()用到。还是上面的例子,观察下lastIndex属性

let reg = /[d]/g  //有修饰符g//undefinedreg.lastIndex//0reg.test(1)   //truereg.lastIndex  //匹配一次后,lastIndex改变//1reg.test(1)  //从index 1 开始匹配//falsereg.lastIndex//0reg.test(1)//truereg.lastIndex//1

登录后复制

第一次使用test()匹配成功后,lastIndex被设为匹配到的结束位置,就是1;第二次再test()时,从index 1 开始匹配,匹配失败,lastIndex重置为0 。这样就造成了匹配结果与预期不符

解决

1、不使用 g 修饰符

reg = /[d]////[d]/reg.test(1)//truereg.test(1)//truereg.lastIndex//0reg.test(1)//truereg.lastIndex

登录后复制

2、test()之后手动设置lastIndex = 0

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

正则表达式的D元字符(等价于”[^0-9]”)使用详解

常用正则表达式的整理

以上就是lastIndex与正则表达式的关系的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2778165.html

(0)
上一篇 2025年3月8日 15:20:04
下一篇 2025年3月8日 15:20:14

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • PHP正则表达式(增加177手机号)

    这次给大家带来PHP正则表达式(增加177手机号),使用PHP正则表达式(增加177手机号)的注意事项有哪些,下面就是实战案例,一起来看一下。 首先看下正则表达式思维导图: 一、校验数字的表达式  1 数字:^[0-9]*$2 n位的数字:…

    2025年3月8日
    200
  • JS的正则表达式概念与实战应用

    这次给大家带来JS的正则表达式概念与实战应用,使用JS正则表达式概念与实战应用的注意事项有哪些,下面就是实战案例,一起来看一下。 今天和大家分享一些关于正则表达式的知识和在javascript中的应用。正则表达式简单却又不简单,比如以前我的…

    2025年3月8日 编程技术
    200
  • Replace中的正则表达式使用详解

    这次给大家带来Replace中的正则表达式使用详解,使用Replace中正则表达式的注意事项有哪些,下面就是实战案例,一起来看一下。 replace:把原有的字符替换成新的字符 1. replace的字符串替换 var str = ‘pku…

    编程技术 2025年3月8日
    200
  • 实现日期正则表达式详解

    这次给大家带来实现日期正则表达式详解,实现日期正则表达式的注意事项有哪些,下面就是实战案例,一起来看一下。 1        概述 首先需要说明的一点,无论是Winform,还是Webform,都有很成熟的日历控件,无论从易用性还是可扩展性…

    编程技术 2025年3月8日
    200
  • 用正则表达式验证登录页面的输入内容

    这次给大家带来用正则表达式验证登录页面的输入内容,用正则表达式验证登录页面输入内容的注意事项有哪些,下面就是实战案例,一起来看一下。 先给大家展示下效果图: 废话不多说了,直接给大家贴代码了,具体代码如下所示: $(function() {…

    2025年3月8日
    200
  • Linux grep与正则表达式的使用

    这次给大家带来Linux grep与正则表达式的使用,Linux grep与正则表达式使用的正则表达式有哪些,下面就是实战案例,一起来看一下。 grep简介   grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打…

    编程技术 2025年3月8日
    200
  • 怎样使用正则表达式屏蔽所选关键字

    这次给大家带来怎样使用正则表达式屏蔽所选关键字,使用正则表达式屏蔽所选关键字的注意事项有哪些,下面就是实战案例,一起来看一下。 【问题】关键字屏蔽是社交类软件必做的功能,当然了,一般来讲都是产品的中后期来做;不同产品规定不一样,跟着产品运营…

    编程技术 2025年3月8日
    200
  • 前端常用的正则表达式有哪些

    这次给大家带来前端常用的正则表达式有哪些,使用前端常用正则表达式的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 正则这东西吧,感觉是开发的都会接触到一些.. 那些所谓的基础语法就不说了哈,一搜一大把,来点实际的. 我这里就分享下我…

    编程技术 2025年3月8日
    200
  • 在正则表达式中wd的使用详解

    这次给大家带来在正则表达式中wd的使用详解,使用正则表达式中的wd注意事项有哪些,下面就是实战案例,一起来看一下。 对于正则表达式,相信很多人都知道,但是很多人的第一感觉就是难学,因为看第一眼时,觉得完全没有规律可寻,而且全是一堆各种各样的…

    2025年3月8日
    200
  • 正则表达式怎样对IP进行排序

    这次给大家带来正则表达式怎样对IP进行排序,正则表达式对IP进行排序的注意事项有哪些,下面就是实战案例,一起来看一下。 1、补零,使得可以按照字符串顺序进行比较。 2、截取保留后三位(ip地址最多就3位)。 3、利用Arrays.sort(…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论