我正在尝试用 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/