我试图在Java中做一个简单的正则表达式,但由于某种原因它失败了.我想要做的就是验证字符串是否包含大写字母和/或数字.因此ABC1,111和ABC将有效,但abC1不会.
所以我试着这样做:
if (!e.getId().matches("[A-Z0-9]")) {
throw new ValidationException(validationMessage);
}
Run Code Online (Sandbox Code Playgroud)
我确保e.getId()有ABC1,但它仍然抛出异常.我知道这是一个非常小而愚蠢的东西,但我无法弄明白.
您可以尝试以下正则表达式:
[\p{Digit}\p{Lu}]+
Run Code Online (Sandbox Code Playgroud)
即:
if (!e.getId().matches("[\\p{Digit}\\p{Lu}]+")) {
throw new ValidationException(validationMessage);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17302 次 |
| 最近记录: |