我有一大堆的字符串相匹配的篝火:迴文中FreeCodeCamp 字符串是:如何使用正則表達式匹配多個字符串?
- 眼
- 賽車
- 不是一個迴文
- 一個男人,一個計劃,一個運河。巴拿馬
- 沒了
- almostomla
- 我的年齡是0,0 SI EGA YM。
- 1隻眼的1隻眼。
- 0_0(/ - \ :) 0-0
我的代碼:
function palindrome(str) {
var newstr = str.replace(/[^\w_-]/g,"").toLowerCase();
var num = newstr.length;
for(var i=0;i<=Math.floor(num/2);i++)
{
if(newstr[i]!==newstr[num-i])
{
return newstr;
}
}
return true;
}
什麼能if語句是錯誤的?字符串的返回是好的..只是不能把我的頭圍繞這些正則表達式?
我現在的正則表達式:
var newstr = str.replace(/[^\w_-]/g,"").toLowerCase();
匹配幾乎所有的字符串,但最後一個。我哪裏錯了?
下劃線包含在'\ w',你不需要列出單獨的正則表達式。 – Barmar
您正在字符串之外訪問。當'i'爲零時,將它與'newstr [num]'進行比較,但最高索引是'newstr [num-1]'。 – Barmar