RegExp JavaScript错误测试
RegExp JavaScript error test
这是一个错误?
execute in firebug
altern = /raeeoCott/ig //
for(var h = 0; h<3; h++)
for(var i = 0; i<5; i++)
if(altern.test('raeeocott'))
console.log('ddd')
h=1 :: (8 true); ?????
// 5 * 3 = 15 != 8
为什么会发生这种情况?
发生这种情况是因为您在正则表达式中包含了g
标志。该标志保留了对.test()
调用之间的状态。在成功匹配之后,下一次尝试将尝试对源字符串的其余部分进行匹配,并且匹配将失败。所以你得到了8次成功的匹配,其中穿插着失败。
第一次呼叫.test()
成功。正则表达式对象"记住"它应该在匹配字符串的末尾之后开始,这将是源字符串的末尾。这将在下一次迭代中不匹配,但由于尝试耗尽了源字符串的末尾,正则表达式将重置为位置0。然后,下一次尝试就会成功,如此反复。
简写:去掉g
标志
相关文章:
- QUnit 测试错误与 IE(Internet Explorer)
- Angular 2组件测试错误:无法解析'TestComponentBuilder'
- 带有expect的mocha不适用于测试错误
- 茉莉花 - 如何测试错误
- 使用摩卡在节点上测试错误.js函数
- 余烬集成测试错误.处理异步副作用
- 用javascript测试错误的reCAPTCHA站点密钥
- 摩卡茶意外断言测试错误从对象等于对象
- 黑客等级测试错误.count
- 无法运行内部功能测试.错误:[POST http://localhost:4444/wd/hub/session] co
- 烬你好字-测试错误在http://localhost:4200/tests,但不是在命令行
- Angular JS官方教程-第2步单元测试错误
- 单元测试错误输出"致命错误:在结束"之后写入
- 使用equal和deeequal进行单元测试错误
- Javascript对数组元素的测试错误
- Ionic App的Karma单元测试错误:[ng:areq] Argument '不是函数,没有定义
- Angular 2 - http测试-错误:"Cannot read property 'getCoo
- Mocha单元测试错误处理库
- Node.js如何使用mocha获得更好的异步测试错误消息
- 量角器屏幕截图测试错误代码105