lastIndex对正则结果有什么影响
发表于:2025-01-27 作者:千家信息网编辑
千家信息网最后更新 2025年01月27日,这篇文章将为大家详细讲解有关lastIndex对正则结果有什么影响,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。遇到一个问题,用正则表达式去检查同一个字符串时,交替
千家信息网最后更新 2025年01月27日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安全错误
数据库的锁怎样保障安全
iso 网络安全认证
dell1u服务器
企业网络安全的意义 为什么
微盟数据库有什么好处
服务器远程登录用户名
咸鱼之王能切服务器吗
title 网络安全
mysql数据库基本语法
网络安全靠大家征文500字
猫和老鼠服务器被关
蔚县网络安全教育
网络安全探针是干什么用的
我的世界服务器管理员招收
计算机技术和网络技术包括
金融软件开发资质
明日之后桑德镇服务器下载
沧州租房网络安全
网络安全违规托管
科技互联网发展的好处
怎么自己开网易服务器
诺亚方舟手游怎么开服务器
计算机三级网络技术好考不
c 怎么连sql数据库
呼市网络安全周
跨境电商软件开发
服务器迭代
广东定制软件开发
服务器高性能优化
软件开发瀑布各个阶段
软件开发培训找工作