之前看资料说
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函数
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
请阅读参考资料
https://developer.mozilla.org/zh-cn/docs/web/javascript/reference/global_objects/regexp/test#当设置全局标志的正则使用test