C# 正則表達式判斷是否爲特殊字符

其實判斷是否爲特殊字符有兩種思路:

第一種思路,將所有特殊字符都列出來,判斷目標字符串包含特殊字符。

public bool IsSpecialChar(string str){
    Regex regExp = new Regex("[ \\[ \\] \\^ \\-_*×――(^)$%~!@@##$…&%¥—+=<>《》!!???::•`·、。,;,.;/\'\"{}()‘’“”-]");
    if(regExp.IsMatch(str)){
        return true;
    }
    return false;
}

這種思路的問題就是你不能漏掉任何一個特殊字符,要不然代碼就有Bug

第二種思路,將所有不是特殊字符的字符都列出來,判斷目標字符串是否不包含這些字符

public bool IsSpecialChar(string str){
    Regex regExp = new Regex("[^0-9a-zA-Z\u4e00-\u9fa5]");
    if(regExp.IsMatch(str)){
        return true;
    }
    return false;
}

這種思路的好處就是隻要把漢字、字母、數字這些不是特殊字符的字符列出來。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章