正则表达式中lastIndex参数对匹配结果有何深远影响?

2026-03-30 09:440阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1067个文字,预计阅读时间需要5分钟。

正则表达式中lastIndex参数对匹配结果有何深远影响?

前言:今天遇到一个问题,用正则表达式去检查同一字符串时,交换单引号和双引号是否返回true和false。

无它之下,重新翻阅了翻泽规范指南,发现罪魁祸首原来是origin来自lastIndex。可在控制台尝试下:

let reg=/[']/g;test'testtest.replace(reg, true); // truetest'testtest.replace(reg, false); // false

前言

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

let reg = /[\d]/g //undefined reg.test(1) //true reg.test(1) //false

lastIndex

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

阅读全文
标签:影响

本文共计1067个文字,预计阅读时间需要5分钟。

正则表达式中lastIndex参数对匹配结果有何深远影响?

前言:今天遇到一个问题,用正则表达式去检查同一字符串时,交换单引号和双引号是否返回true和false。

无它之下,重新翻阅了翻泽规范指南,发现罪魁祸首原来是origin来自lastIndex。可在控制台尝试下:

let reg=/[']/g;test'testtest.replace(reg, true); // truetest'testtest.replace(reg, false); // false

前言

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

let reg = /[\d]/g //undefined reg.test(1) //true reg.test(1) //false

lastIndex

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

阅读全文
标签:影响