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

10-10 14:00