我正在尝试用 Java 做一个简单的正则表达式,但由于某种原因失败了。我想要做的就是验证字符串是否包含大写字母和/或数字。所以 ABC1、111 和 ABC 是有效的,但 abC1 不是。
所以我尝试这样做:
if (!e.getId().matches("[A-Z0-9]")) {
throw new ValidationException(validationMessage);
}
我确定 e.getId() 有 ABC1 但它仍然抛出异常。我知道这是非常小而且愚蠢的事情,但我无法弄清楚。
最佳答案
使用 ^[A-Z0-9]+$
作为匹配模式。但是 matches
方法匹配整个字符串, [A-Z0-9]+
就足够了。
关于仅适用于大写字母和数字的 Java 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10168694/