2011-12-06 41 views
1

我使用JSR303 Bean驗證註釋在我的春天MVC託管bean來驗證文本輸入。 我需要檢查@Pattern,JSR303 Bean驗證:正則表達式檢查最多5個字,而不是空白

  • 如果字符串包含最多5個字(這裏一個字是一個字母或字母數字字符串) 與此字符串不能爲空(一個空格)

我嘗試與此:(只匹配5個字)

@Pattern(message="max 5 words please" , regexp="^[a-zA-Z+#\-.0-9]{1,5}(\s[a-zA-Z+#\-.0-9]{1,5}){0,4}$") 
String keywords; 

但我的Eclipse IDE中說: 無效的轉義序列(有效問卷是\ b \牛逼\ n \˚F\ r \」 \」 \)

回答

3

,如果你願意,你可以試試這個較短的版本。

regexp="^(\\b[a-zA-Z\\d+#.-]+\\b(?:\\s+|$)){0,5}$") 

應該工作。

順便說一下在你的正則表達式,你說:

匹配一到五個字符(最多5個字符的字?),0或4次(其次是空間,後面的零至四個字符)。這是你想要的嗎? :)

+1

十分感謝您。我喜歡這個較短的版本! Tassos Bassoukos也是對的。謝謝你們倆。 –

3

使用雙反斜線(\),爲了躲避特殊字符反斜槓。