我試圖找到給定的數字串是否包含三個相同數字的序列。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 **,因爲比較發生了。 –