Unicode的正則表達式,我需要用Java編寫涵蓋以下情況下在Java中
間6-10個字符
必須至少有一個數字
我已被告知,正則表達式我應該在正則表達式中使用Unicode約定,因爲輸入可能有很多種語言
任何人都可以幫忙嗎?
Unicode的正則表達式,我需要用Java編寫涵蓋以下情況下在Java中
間6-10個字符
必須至少有一個數字
我已被告知,正則表達式我應該在正則表達式中使用Unicode約定,因爲輸入可能有很多種語言
任何人都可以幫忙嗎?
對於字符串長度,只需使用.length()
方法。對於匹配,使用\p{Digit}
,這應該做你想要的並且覆蓋超過\d
(雖然我看不到)。
所以:
final Pattern p = Pattern.compile("\\p{Digit}");
//...
if (input.length() < 6 || input.length() > 10)
//fail
if (!p.matcher(input).find())
//fail
// Success!
將使用。長度() 以下失敗 '公共類PasscodeValidator { 最終靜態圖案P = Pattern.compile( 「\\ p {數字}」); \t \t 公共靜態布爾validatePasscode(字符串密碼){ \t \t返回p.matcher(密碼).lookingAt(); \t} \t \t 公共靜態無效的主要(字串[] args){ \t \t的System.out.println(validatePasscode( 「B1」)); \t} }' 任何想法? – user964283 2011-12-17 22:02:13
啊!它應該是'.find()',而不是'.lookingAt()'!回答相應編輯。 – fge 2011-12-17 22:05:50
工作,謝謝 – user964283 2011-12-17 22:09:21
目前只有很少的機會,你可以在這裏得到幫助,因爲你沒有顯示你有什麼到目前爲止已經試過。你需要包括你的努力和你的問題。 – Lion 2011-12-17 21:46:39