Javascript正则表达式与.test()

前端之家收集整理的这篇文章主要介绍了Javascript正则表达式与.test()前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
> var p = /abc/gi;
> var s = "abc";
> p.test(s);
  true
> p.test(s);
  false;

当我在Chrome控制台上运行此代码时,我在上面输出了此输出.每次我调用’.test()’,我都会得到不同的价值.有人可以向我解释为什么会这样吗?谢谢

解决方法

行为是由于“g”修饰符,即匹配三次,第四次不匹配:
> var p = /a/gi;
> var s = "aaa";
> p.test(s)
true
> p.test(s)
true
> p.test(s)
true
> p.test(s)
false

看到类似的问题:Why RegExp with global flag in Javascript give wrong results?

猜你在找的JavaScript相关文章