lastIndex对正则结果有什么影响
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关lastIndex对正则结果有什么影响,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。遇到一个问题,用正则表达式去检查同一个字符串时,交替
千家信息网最后更新 2026年11月01日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
关于"lastIndex对正则结果有什么影响"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
正则
结果
属性
篇文章
影响
位置
字符
字符串
指南
更多
权威
不错
实用
成功
罪魁祸首
例子
内容
可在
就是
手动
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手磨咖啡
互联网科技公司华为
互联网科技的
致骋互联网科技
百单互联网科技有限公司
猫创互联网科技
成都狮子座互联网科技
天扬科技互联网广告
中国科技互联网公司收入
互联网科技中介
以后互联网后是啥科技
移动互联网科技股
汽车互联网创新科技园
厦门比较好的科技互联网公司
荆州市昕露互联网络科技有限公司
移动互联网科技公司
互联网保险科技创业
翼展科技 首家互联网医院
山东星卡互联网科技有限公司官网
互联网科技数字货币
互联网科技工作委员会毛军
北京互联网科技有限公司
浩特互联网科技
美国互联网前沿科技
广西拼得多互联网科技有限公司
汉立互联网科技有限公司联系电话
科技互联网大厂
花神(南京)互联网科技有限公司
启辰互联网科技
江苏互联网科技小贷