之前看资料说
1.对于表达式对象的exec方法,不加入g,则只返回第一个匹配,无论执行多少次均是如此,如果加入g,则第一次执行也返回第一个匹配,再执行返回第二个匹配,依次类推
2.对于表达式对象的test方法,加入g与不加上g没有什么区别
// ...
但是今天实际执行过程中发现是有问题的?
之前看资料说
1.对于表达式对象的exec方法,不加入g,则只返回第一个匹配,无论执行多少次均是如此,如果加入g,则第一次执行也返回第一个匹配,再执行返回第二个匹配,依次类推
2.对于表达式对象的test方法,加入g与不加上g没有什么区别
// ...
但是今天实际执行过程中发现是有问题的?
2.对于表达式对象的test方法,加入g与不加上g没有什么区别
这种说法应该是有语境的,一般使用test
的场景是直接使用正则表达式字面量:
/abc/.test('abcd');
/abc/.test('efg');
这种情况下“加入g与不加上g没有什么区别”。但功能上加入g与不加上g是有区别的,见JS-RegExp函数
13 回答12.7k 阅读
2 回答4.9k 阅读✓ 已解决
7 回答1.8k 阅读
3 回答2.1k 阅读✓ 已解决
8 回答2.2k 阅读
5 回答668 阅读
3 回答1k 阅读✓ 已解决
请阅读参考资料
https://developer.mozilla.org/zh-cn/docs/web/javascript/reference/global_objects/regexp/test#当设置全局标志的正则使用test