我想清楚,我不是在尋找解決方案。我真的很想了解正在做什麼。有了這個說法,所有的指針和建議都受到歡迎。我正在通過freecodecamp.com檢查Palindromes的任務。以下是描述。如果給定的字符串是一個迴文檢查迴文上freecode陣營(不想溶液)
,則返回true。否則,返回 false。
迴文是一個單詞或句子,其拼寫方式與 一樣向前和向後拼寫,忽略標點符號,大小寫和間距。
注意你需要刪除所有非字母數字字符 (標點符號,空格和符號),並在 以便檢查迴文把一切都小寫。
我們將傳遞不同格式的字符串,例如「racecar」,「RaceCar」, 和「race CAR」等。
我們還會傳遞帶有特殊符號的字符串,例如「2A3 * 3a2」,「2A3 3a2」和「2_A3 * 3#A2」。
這就是我現在的代碼,我正在通過這個工作,並使用chrome開發工具來弄清楚什麼可行,哪些不行。
function palindrome(str) {
// Good luck!
str = str.toLowerCase();
//str = str.replace(/\D\S/i);
str = str.replace(/\D\s/g, "");
for (var i = str.length -1; i >= 0; i--)
str += str[i];
}
palindrome("eye");
我不明白的是當下面的代碼在開發工具中運行時,「e」缺失。
STR = str.replace(/ \ d \ S/G 「」); 「raccar」
所以我的問題是正則表達式我會錯過了解的哪一部分?從我的理解,正則表達式應該只是擺脫空間和整數。
將您的正則表達式粘貼到regex101.com並仔細閱讀說明。 –