如果我做错了,请看下面的例子并纠正我,
tableb
预期结果是:全部3个结果 但只记录两个列表和列表附件
答案 0 :(得分:3)
正则表达式是可变对象。 test
方法将改变lastIndex
属性,当发生这种情况时,第一个索引已经被检查,因此数组中的第二个项目不会检查该索引。由于此时没有找到任何内容,索引会重置为零,这就是为什么最后一项也能正常工作的原因。您可以在每一步重置索引:
for (let i = 0; i < strings.length; i++) {
_regex.lastIndex = 0; // reset index
if (_regex.test(strings[i])) {
console.log(strings[i]);
}
}
或者只使用正则表达式文字:
for (let i = 0; i < strings.length; i++) {
if (/L/gi.test(strings[i])) {
console.log(strings[i]);
}
}