我有一個Web服務構造以下模式:爲什麼我得到這個正則表達式的解析異常?
rUsername = Pattern.compile("[A-z0-9]{4,30}");
rPassword = Pattern.compile("[[email protected]#$%&*()=+-\\\\s]{6,30}");
rQuestion = Pattern.compile("[A-z0-9\\\\s?]{5,140}");
rAnswer = Pattern.compile("[A-z0-9\\\\s]{1,30}");
如果我只有2個斜線,而不是4那裏,當我部署我的web應用程序,我得到從Tomcat解析異常。
用戶名一個正常工作,但我似乎有密碼,問題和答案的問題。密碼將與「testasdas」相匹配,但不匹配「test1234」,問題不會與任何內容匹配,並且答案似乎不匹配任何內容。
我希望密碼能夠匹配小寫字母,大寫字母,數字,空格和我投入的符號。問題一應該能夠匹配小寫字母和大寫字母,數字,空格和'?',答案只是大寫和小寫字母,空格和數字。
編輯:模式已經改變了這些:
rPassword = Pattern.compile("[[email protected]#$%&*()=+\\s-]{6,30}");
rQuestion = Pattern.compile("[A-Za-z0-9\\s?]{5,140}");
rAnswer = Pattern.compile("[A-z0-9\\s]{1,30}");
這些都或多或少的我多麼希望,但作爲一個答案,我是在我的密碼字段非常嚴格這可能ISN指出」這是一個好主意。在我保存之前,我不會散列任何東西,因爲這是一個沒有人會使用的大學項目,我知道在現實世界中這是一個壞主意,但它不是項目要求的一部分。然而,我不得不停止SQL注入攻擊,這就是爲什麼一切都如此嚴格。這個想法主要是禁止使用'
,我知道每個SQL攻擊都需要工作,但我不知道如何僅僅禁止那個字符。
我認爲你的問題的第二部分(編輯過的正則表達式)應該移到一個新的問題。否則,答案不適合。 –