lastIndex对正则结果有什么影响
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇文章将为大家详细讲解有关lastIndex对正则结果有什么影响,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。遇到一个问题,用正则表达式去检查同一个字符串时,交替
千家信息网最后更新 2025年11月13日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安全错误
数据库的锁怎样保障安全
数据库管理员培训多久
软件开发公司平台广告
软件开发的低层结构
服务器管理卡接口
辽宁第三方网络技术好吗
深圳猪强强互联网科技
英雄联盟中国区哪个服务器好
北京订制软件开发电话
网络安全问题说明什么
sql数据库文件组
服务器750W需要几安得插排
服务器配置svn
广州擎拓网络技术有限公司
顽石科技软件开发
监控服务器有用吗
linux服务器登陆
北京阿里云服务器云主机
深圳 软件开发 阮
出入境边防检查总站网络安全
质量安全追溯数据库应用论文
李博文北京网络安全
服务器管理卡接口
风暴英雄同步服务器
营销软件开发公司网站
湖州手机软件开发管理
福建家用软件开发服务价格
mc国际版服务器显示网络错误
下载描述文件服务器出错
代码服务器错误是什么意思
销售免费实时数据库哪家好