<code>
function palindrome(str) {
// Good luck!
str=str.toLowerCase();
str=str.replace(/[^\Wa-z0-9]/gi," ");
str=str.replace(/[.,\s]/g, '');
str=str.replace(/\//g, "");
str=str.replace("(", "").replace(")", "").replace("0-0", "").replace(":-", "").replace(":","");
var a=str.split("");
a=a.reverse();
a=a.join("");
if(str===a){
return true;
}
else {
return false;
}
}
palindrome("0_0 (: /-\ :) 0-0");
</code>
注意:我在这里尝试删除所有特殊字符,空格和大写字符,并检查传递的参数是否是回文。我只是想知道是否有办法使正则表达式只简化为一行。
答案 0 :(得分:2)
str = str.toLowerCase().replace( /[^a-z0-9]/g, '' );
将小写字符串并删除所有非字母数字字符。