我正在使用以下正則表達式我的java代碼。使用正則表達式進行密碼驗證
^.*(?=.{6,20})(?=.*[a-z].*[a-z])(?=.*[A-Z])(?=.*[0-9]).*$
當我試圖使用相同的XML作爲
^.\*(\?=.{6,20})(\?=.\*[a-z].\*[a-z])(\?=.\*[A-Z])(\?=.\*[0-9]).\*$
這是行不通的。它顯示如下例外。
java.lang.IllegalArgumentException異常: CVC圖案有效:值 'narendra1A' 不是小面有效的相對於 圖案 「^ *(\ = {6,20}?)。 (\?=。* [az]。* [az])(\?=。* [AZ])(\?=。* [0-9])。* $'爲 '#AnonType_passwordcreateUser'。
任何人都可以在這方面提供幫助。
感謝,
納倫德拉
與這個問題無關,但應該在`^`後面刪除第一個`。*`。這是沒有必要的,並使你的正則表達式非常低效。另外,如果您認爲您將密碼長度限制爲6-20個字符,則不是。一個100個字符的字符串會傳遞這個正則表達式。 – 2010-12-08 11:01:42
爲什麼有20個字符的上限? – Gumbo 2010-12-08 11:02:03