2013-02-26 90 views
1

我使用此正則表達式:不允許以下字符:〜%^ * = [{}] |; <>

^(?!.*&#.*)[[email protected]_'?., `#$&()-\\\\/:"]*$ 

但它接受以下字符:*=+[;<> 我如何禁止他們?我試圖加入這個(?!.*(~%^*=+[{}]|;<>)),但它沒有奏效!

+1

你使用什麼語言/庫/工具? – ruakh 2013-02-26 00:11:27

+0

我編輯了你的正則表達式來顯示更好。請檢查它們並確保我沒有引入任何錯誤。 – 2013-02-26 00:11:34

+0

它看起來像你需要逃避你的正則表達式中的一些字符(太多以至於我不能真正說出你的字面意思)。像'&'和'"'這樣的HTML實體在像這樣的字符類中沒有意義。我也很困惑,因爲你的負面看法不允許'&'但你也可以在正則表達式中將它作爲一個允許的角色類。 – 2013-02-26 00:13:03

回答

2

確保在此處跳過-

^(?!.*&#.*)[[email protected]_'?., `#$&()\\-\\\\/:"]*$ 
            ^^ 
+0

我相信在實際的正則表達式中應該只有兩個反斜槓。這些附加內容是爲了讓它們正確顯示並且應該像HTML實體一樣被刪除。在你的正則表達式中,在連字符前應該只有*一個*反斜槓,在它之後應該只有*兩個*。 – 2013-02-26 03:00:33

+0

4個額外的反斜槓被添加使它工作,因爲它不工作,也許是因爲我使用配置文件 – xinia 2013-02-26 14:08:09

+0

謝謝@JohnKugelman。這是我的問題!我添加了這個\\ - 而現在它不允許其他角色! – xinia 2013-02-26 14:10:41

相關問題