我试图找到给定的数字串是否包含三个相同数字的序列。Javascript - 在正则表达式中使用连接字符串
使用for循环,字符串中的每个数字都有自己的一个三位数的序列,然后使用正则表达式检查对字符串的表示:
var str = "6854777322"
for(var i=0; i<str.length; i++)
{
seqToCompare = str[i] + str[i] + str[i];
var re = new RegExp(seqToCompare, "g");
if(str.match(re).length == 1)
{
match = str[i];
}
}
console.log(match)
结果应该是七(如果我把777在seqToCompare,它会工作),但它看起来像串联导致它失败。控制台显示“无法读取null的属性长度”。
你可以在这里进行测试 - https://jsfiddle.net/kwnL7vLs/
我试过的ToString,在正则表达式的格式设置seqToCompare甚至解析它作为INT(出于绝望了,不知道该怎么办了......)
如果匹配失败,结果是'null'并在第一次循环,对手失败。 – vlaz
谢谢!我确定它返回** 0 **而不是** null **,因为比较发生了。 –